Exemplo n.º 1
0
        public override void SetExtents()
        {
            Extents.MinX = DiameterP2.X - DiameterP1;
            Extents.MaxX = DiameterP2.X + DiameterP1;

            Extents.MinY = DiameterP2.Y - DiameterP1;
            Extents.MaxY = DiameterP2.Y + DiameterP1;

            Extents.MinZ = DiameterP2.Z - DiameterP1;
            Extents.MaxZ = DiameterP2.Z + DiameterP1;

            // determine start and end points
            StartPoint = GeometricArithmeticModule.GetPointAtAngle(DiameterP2, DiameterP1, 0);
            EndPoint   = GeometricArithmeticModule.GetPointAtAngle(DiameterP2, DiameterP1, 2 * Math.PI);
        }
Exemplo n.º 2
0
        public override void SetExtents()
        {
            Extents.MinX = CentrePoint.X - Radius;
            Extents.MaxX = CentrePoint.X + Radius;

            Extents.MinY = CentrePoint.Y - Radius;
            Extents.MaxY = CentrePoint.Y + Radius;

            Extents.MinZ = CentrePoint.Z - Radius;
            Extents.MaxZ = CentrePoint.Z + Radius;

            // determine start and end points
            StartPoint = GeometricArithmeticModule.GetPointAtAngle(CentrePoint, Radius, 0);
            EndPoint   = GeometricArithmeticModule.GetPointAtAngle(CentrePoint, Radius, 2 * Math.PI);
        }
Exemplo n.º 3
0
        public void GenerateView()
        {
            for (int i = 0; i < VertexCount; i++)
            {
                Points.Add(
                    GeometricArithmeticModule.GetPointAtAngle(
                        CentrePoint,
                        MajorAxis,
                        MinorAxis,
                        GeometricArithmeticModule.Map(i, 0, VertexCount - 1, StartAngle, EndAngle)
                        )
                    );
            }

            //StartPoint = GeometricArithmeticModule.GetPointAtAngle(CentrePoint, MajorAxis, MinorAxis, StartAngle);
            //EndPoint = GeometricArithmeticModule.GetPointAtAngle(CentrePoint, MajorAxis, MinorAxis, EndAngle);
            IsClosed = Math.Abs(StartAngle - EndAngle) >= (2.0 * Math.PI) || (StartPoint == EndPoint);

            Update();
        }