예제 #1
0
        private void updateLocalFrameTransforms()
        {
            _localFrame.Transforms.Clear();

            Transform tScale = Rhino.Geometry.Transform.Scale(Point3d.Origin, DrawUtil.ScaleFactorLocalFrame);

            Vector3d lx = DirectionLocalX.IsTiny() ? Vector3d.XAxis : DirectionLocalX;
            Vector3d lz = DirectionLocalZ.IsTiny() ? -1 * Vector3d.ZAxis : DirectionLocalZ;

            Transform tFinal = TransformUtils.GetGlobalTransformPoint(lx, lz);

            Transform tTranslate = Rhino.Geometry.Transform.Translation(new Vector3d(Value.Location));

            tFinal = tTranslate * tFinal * tScale;

            _localFrame.Transforms.Add(tFinal);
        }
예제 #2
0
        private void updateSupportTransforms()
        {
            _supp_condition.Transforms.Clear();

            Transform tScale = Rhino.Geometry.Transform.Scale(Point3d.Origin, DrawUtil.ScaleFactorSupports);

            Vector3d lx = DirectionLocalX.IsTiny() ? Vector3d.XAxis : DirectionLocalX;
            Vector3d lz = DirectionLocalZ.IsTiny() ? Vector3d.ZAxis : DirectionLocalZ;

            Transform tFinal = Rhino.Geometry.Transform.Identity;

            if (_supp_condition.LocalFrame)
            {
                tFinal = TransformUtils.GetGlobalTransformPoint(lx, lz);
            }

            Transform tTranslate = Rhino.Geometry.Transform.Translation(new Vector3d(Value.Location));

            tFinal = tTranslate * tFinal * tScale;

            _supp_condition.Transforms.Add(tFinal);
        }