示例#1
0
        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);
        }
示例#2
0
 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();
 }
示例#3
0
        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);
            }
        }