예제 #1
0
        /// <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;
        }
예제 #2
0
        /// <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;
        }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BodyCalculationHelper"/> class.
        /// </summary>
        public BodyCalculationHelper(IPolygonTransformationHelper polygonTransformationHelper)
        {
            ArgumentChecks.AssertNotNull(polygonTransformationHelper, nameof(polygonTransformationHelper));

            this.polygonTransformationHelper = polygonTransformationHelper;
        }