示例#1
0
 public static void Read(this VectorsReader reader, SnappedCone cone)
 {
     cone.BottomCenterResult = reader.ReadPoint3D();
     cone.AxisResult         = reader.ReadVector3D();
     cone.LengthResult       = reader.ReadValue();
     cone.TopRadiusResult    = Math.Abs(reader.ReadValue());
     cone.BottomRadiusResult = Math.Abs(reader.ReadValue());
 }
示例#2
0
 public static VectorsWriter Write(this VectorsWriter writer, SnappedCone cone)
 {
     return(writer
            .Write(cone.BottomCenterResult)
            .Write(cone.AxisResult)
            .Write(cone.LengthResult)
            .Write(cone.TopRadiusResult)
            .Write(cone.BottomRadiusResult));
 }
示例#3
0
 public static VariableVectorsWriter Write(this VariableVectorsWriter writer, SnappedCone cone)
 {
     return(writer
            .Write(cone.BottomCenter)
            .Write(cone.Axis)
            .Write(cone.Length)
            .Write(cone.TopRadius)
            .Write(cone.BottomRadius));
 }
        public static Visual3D CreateConeView(SnappedCone coneData)
        {
            Contract.Requires(coneData != null);
            Contract.Ensures(Contract.Result <Visual3D>() != null);

            var topCircle = ShapeHelper.GenerateCircle(
                coneData.TopFeatureCurve.CenterResult,
                coneData.TopFeatureCurve.NormalResult,
                coneData.TopFeatureCurve.RadiusResult,
                50);
            var botCircle = ShapeHelper.GenerateCircle(
                coneData.BottomFeatureCurve.CenterResult,
                coneData.BottomFeatureCurve.NormalResult,
                coneData.BottomFeatureCurve.RadiusResult,
                50);

            return(CreateCylinderView(topCircle, botCircle, coneData));
        }