コード例 #1
0
        public static void Read(this VectorsReader reader, SnappedStraightGenCylinder sgc)
        {
            sgc.BottomCenterResult = reader.ReadPoint3D();
            sgc.AxisResult         = reader.ReadVector3D();
            sgc.LengthResult       = reader.ReadValue();

            foreach (var i in Enumerable.Range(0, sgc.ComponentResults.Length))
            {
                sgc.ComponentResults[i] =
                    new CylinderComponent(reader.ReadValue(), sgc.ComponentResults[i].Progress);
            }
        }
コード例 #2
0
 private Visual3D CreateSgcView(SnappedStraightGenCylinder sgc)
 {
     return(CreateVisual(sgc, model =>
     {
         model.Bind(GeometryModel3D.GeometryProperty,
                    () => sgc.AxisResult,
                    () => sgc.LengthResult,
                    () => sgc.BottomCenterResult,
                    () => sgc.ComponentResults,
                    (axis, length, bottomCenter, components) => CreateSGCGeometry(axis, length, bottomCenter, components));
     }));
 }
コード例 #3
0
        public static VectorsWriter Write(this VectorsWriter writer, SnappedStraightGenCylinder sgc)
        {
            writer = writer
                     .Write(sgc.BottomCenterResult)
                     .Write(sgc.AxisResult)
                     .Write(sgc.LengthResult);
            foreach (var component in sgc.ComponentResults)
            {
                writer = writer
                         .Write(component.Radius);
            }

            return(writer);
        }