Model Redesign: Added Reference Frames
Added Inverse Functions UI Redesign Cleaned Code
This commit is contained in:
@@ -156,13 +156,33 @@
|
||||
|
||||
@implementation MPExpression (MPRangeExtension)
|
||||
|
||||
- (NSArray *)itemsInRangePath:(MPRangePath *)rangePath
|
||||
referenceFrame:(MPReferenceFrame)referenceFrame
|
||||
{
|
||||
MPExpression *targetExpression = [self elementAtIndexPath:[rangePath.location indexPathByRemovingLastIndex]];
|
||||
return [targetExpression itemsInRange:rangePath.rangeAtLastIndex referenceFrame:referenceFrame];
|
||||
}
|
||||
|
||||
- (MPExpression *)subexpressionWithRangePath:(MPRangePath *)aRangePath
|
||||
referenceFrame:(MPReferenceFrame)referenceFrame
|
||||
{
|
||||
MPExpression *targetExpression = [self elementAtIndexPath:[aRangePath.location indexPathByRemovingLastIndex]];
|
||||
if (![targetExpression isKindOfClass:[MPExpression class]]) {
|
||||
// TODO: Raise appropriate exception
|
||||
return nil;
|
||||
}
|
||||
return [targetExpression subexpressionWithRange:aRangePath.rangeAtLastIndex];
|
||||
return [targetExpression subexpressionWithRange:aRangePath.rangeAtLastIndex
|
||||
referenceFrame:referenceFrame];
|
||||
}
|
||||
|
||||
- (void)replaceItemsInRangePath:(MPRangePath *)rangePath
|
||||
referenceFrame:(MPReferenceFrame)referenceFrame
|
||||
withElements:(NSArray *)elements
|
||||
{
|
||||
MPExpression *targetExpression = [self elementAtIndexPath:[rangePath.location indexPathByRemovingLastIndex]];
|
||||
[targetExpression replaceItemsInRange:rangePath.rangeAtLastIndex
|
||||
referenceFrame:referenceFrame
|
||||
withElements:elements];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user