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); } }
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)); })); }
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); }