public PositionedControlComponent(Component parent, CurveComponent curveComponent) : base(parent) { if (curveComponent == null) { throw new ArgumentNullException("curveComponent"); } this.curveComponent = curveComponent; }
void AddCurve(CurveComponent curveComponent) { curveComponent.RemoveCurve += delegate() { curveComponents.Remove(curveComponent); Changed(); }; curveComponents.Add(curveComponent); }
public SegmentComponent(Component parent, CurveComponent curveComponent, PositionedControlComponent leftComponent, PositionedControlComponent rightComponent) : base(parent, curveComponent) { if (leftComponent == null) { throw new ArgumentNullException("leftComponent"); } if (rightComponent == null) { throw new ArgumentNullException("rightComponent"); } this.leftComponent = leftComponent; this.rightComponent = rightComponent; }
public SpecificationComponent(Component parent, CurveComponent curveComponent, double position, IEnumerable <CurveSpecification> specifications) : base(parent, curveComponent) { if (!new OrderedRange <double>(0, 1).Contains(position)) { throw new ArgumentOutOfRangeException(); } if (specifications == null) { throw new ArgumentNullException("specifications"); } if (specifications.OfType <PointCurveSpecification>().Count() > 1) { throw new ArgumentException("There may not be more than one PointCurveSpecification at one position."); } if (specifications.OfType <DirectionCurveSpecification>().Count() > 1) { throw new ArgumentException("There may not be more than one DirectionCurveSpecification at one position."); } if (specifications.OfType <CurvatureCurveSpecification>().Count() > 1) { throw new ArgumentException("There may not be more than one CurvatureCurveSpecification at one position."); } this.position = position; if (specifications.OfType <PointCurveSpecification>().Count() == 1) { this.specifiesPoint = true; this.point = specifications.OfType <PointCurveSpecification>().Single().Point; } if (specifications.OfType <DirectionCurveSpecification>().Count() == 1) { this.specifiesDirection = true; this.direction = specifications.OfType <DirectionCurveSpecification>().Single().Direction; } if (specifications.OfType <CurvatureCurveSpecification>().Count() == 1) { this.specifiesCurvature = true; this.curvature = specifications.OfType <CurvatureCurveSpecification>().Single().Curvature; } }
public FixedPositionComponent(Component parent, CurveComponent curveComponent, double position) : base(parent, curveComponent) { this.position = position; }