/// <summary> /// Initializes a new instance of the <see cref="ShapeFactory"/> class. /// </summary> public ShapeFactory( IPolygonTransformationHelper polygonTransformationHelper, IPolygonCalculationHelper polygonCalculationHelper, IBodyCalculationHelper bodyCalculationHelper) { ArgumentChecks.AssertNotNull(polygonTransformationHelper, nameof(polygonTransformationHelper)); ArgumentChecks.AssertNotNull(polygonCalculationHelper, nameof(polygonCalculationHelper)); ArgumentChecks.AssertNotNull(bodyCalculationHelper, nameof(bodyCalculationHelper)); this._polygonTransformationHelper = polygonTransformationHelper; this._polygonCalculationHelper = polygonCalculationHelper; this._bodyCalculationHelper = bodyCalculationHelper; }
/// <summary> /// Initializes a new instance of the <see cref="RigidPolygonShape"/> class. /// </summary> public RigidPolygonShape( IPolygonTransformationHelper polygonTransformationHelper, IBodyCalculationHelper bodyCalculationHelper, double volume, Polygon originalPolygon) { ArgumentChecks.AssertNotNull(polygonTransformationHelper, nameof(polygonTransformationHelper)); ArgumentChecks.AssertNotNull(bodyCalculationHelper, nameof(bodyCalculationHelper)); ArgumentChecks.AssertIsStrictPositive(volume, nameof(volume)); ArgumentChecks.AssertNotNull(originalPolygon, nameof(originalPolygon)); this._polygonTransformationHelper = polygonTransformationHelper; this._bodyCalculationHelper = bodyCalculationHelper; this.Volume = volume; this.Original = originalPolygon; this.Current = this.Original; }
/// <summary> /// Initializes a new instance of the <see cref="BodyCalculationHelper"/> class. /// </summary> public BodyCalculationHelper(IPolygonTransformationHelper polygonTransformationHelper) { ArgumentChecks.AssertNotNull(polygonTransformationHelper, nameof(polygonTransformationHelper)); this.polygonTransformationHelper = polygonTransformationHelper; }