public void Draw(Rhino.Display.DisplayPipeline pipeline, System.Drawing.Color col) { List <Point3d> _endPoints_F = new List <Point3d>(); List <Point3d> _endPoints_M = new List <Point3d>(); foreach (Transform t in Transforms) { if (!(_symbolF is null)) { SymbolF _temp = new SymbolF(_symbolF); _temp.Transform(t); _temp.Draw(pipeline, col); _endPoints_F.Add(_temp.ALine.From); } if (!(_symbolM is null)) { SymbolM _temp = new SymbolM(_symbolM); _temp.Transform(t); _temp.Draw(pipeline, col); _endPoints_M.Add(_temp.APoint); } } pipeline.DrawDottedPolyline(_endPoints_F, col, false); pipeline.DrawDottedPolyline(_endPoints_M, col, false); }
public SymbolM(SymbolM s) { this._arc = new Arc(new Plane(s._arc.Plane), s._arc.Radius, s._arc.Angle); _arrowPoint = _arc.PointAt(0); _arrowDir = _arc.TangentAt(0); _arrowDir.Reverse(); }
public LoadCondition(Vector3d force, Vector3d moment) { _scale = DrawUtil.ScaleFactorLoads; _density = DrawUtil.DensityFactorLoads; Transform _orientationF = TransformUtils.GetGlobalTransformPoint(Vector3d.XAxis, new Vector3d(force) * -1); Transform _orientationM = TransformUtils.GetGlobalTransformPoint(Vector3d.XAxis, new Vector3d(moment) * -1); Transform _lengthF = Rhino.Geometry.Transform.Scale(Point3d.Origin, force.Length); Transform _lengthM = Rhino.Geometry.Transform.Scale(Point3d.Origin, moment.Length); Transform tF = _orientationF * _lengthF; Transform tM = _orientationM * _lengthM; if (!force.IsTiny()) { _symbolF = new SymbolF(tF); } if (!moment.IsTiny()) { _symbolM = new SymbolM(tM); } }