Exemplo n.º 1
0
        // add the axes mesh to the Mesh3D array
        // if you are using the projection matrix which is not uniform along all the axess, you need change this function
        public void AddAxesMeshes(ArrayList meshs)
        {
            if (!m_bUseAxes)
            {
                return;
            }

            float radius = (m_xAxisLength + m_yAxisLength + m_zAxisLength) / (3 * m_axisLengthWidthRatio);

            Mesh3D xAxisCylinder = new Cylinder3D(radius, radius, m_xAxisLength, 6);

            xAxisCylinder.SetColor(m_axisColor);
            TransformMatrix.Transform(xAxisCylinder, new Point3D(m_xAxisCenter + m_xAxisLength / 2, m_yAxisCenter, m_zAxisCenter), 0, 90);
            meshs.Add(xAxisCylinder);

            Mesh3D xAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);

            xAxisCone.SetColor(m_axisColor);
            TransformMatrix.Transform(xAxisCone, new Point3D(m_xAxisCenter + m_xAxisLength, m_yAxisCenter, m_zAxisCenter), 0, 90);
            meshs.Add(xAxisCone);

            Mesh3D yAxisCylinder = new Cylinder3D(radius, radius, m_yAxisLength, 6);

            yAxisCylinder.SetColor(m_axisColor);
            TransformMatrix.Transform(yAxisCylinder, new Point3D(m_xAxisCenter, m_yAxisCenter + m_yAxisLength / 2, m_zAxisCenter), 90, 90);
            meshs.Add(yAxisCylinder);

            Mesh3D yAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);

            yAxisCone.SetColor(m_axisColor);
            TransformMatrix.Transform(yAxisCone, new Point3D(m_xAxisCenter, m_yAxisCenter + m_yAxisLength, m_zAxisCenter), 90, 90);
            meshs.Add(yAxisCone);

            Mesh3D zAxisCylinder = new Cylinder3D(radius, radius, m_zAxisLength, 6);

            zAxisCylinder.SetColor(m_axisColor);
            TransformMatrix.Transform(zAxisCylinder, new Point3D(m_xAxisCenter, m_yAxisCenter, m_zAxisCenter + m_zAxisLength / 2), 0, 0);
            meshs.Add(zAxisCylinder);

            Mesh3D zAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);

            zAxisCone.SetColor(m_axisColor);
            TransformMatrix.Transform(zAxisCone, new Point3D(m_xAxisCenter, m_yAxisCenter, m_zAxisCenter + m_zAxisLength), 0, 0);
            meshs.Add(zAxisCone);
        }
Exemplo n.º 2
0
        // add the axes mesh to the Mesh3D array
        // if you are using the projection matrix which is not uniform along all the axess, you need change this function
        public void AddAxesMeshes(ArrayList meshs)
        {
            if (!_mBUseAxes)
            {
                return;
            }

            var radius = (_mXAxisLength + _mYAxisLength + _mZAxisLength) / (3 * m_axisLengthWidthRatio);

            Mesh3D xAxisCylinder = new Cylinder3D(radius, radius, _mXAxisLength, 6);

            xAxisCylinder.SetColor(MAxisColor);
            TransformMatrix.Transform(xAxisCylinder, new Point3D(_mXAxisCenter + _mXAxisLength / 2, _mYAxisCenter, _mZAxisCenter), 0, 90);
            meshs.Add(xAxisCylinder);

            Mesh3D xAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);

            xAxisCone.SetColor(MAxisColor);
            TransformMatrix.Transform(xAxisCone, new Point3D(_mXAxisCenter + _mXAxisLength, _mYAxisCenter, _mZAxisCenter), 0, 90);
            meshs.Add(xAxisCone);

            Mesh3D yAxisCylinder = new Cylinder3D(radius, radius, _mYAxisLength, 6);

            yAxisCylinder.SetColor(MAxisColor);
            TransformMatrix.Transform(yAxisCylinder, new Point3D(_mXAxisCenter, _mYAxisCenter + _mYAxisLength / 2, _mZAxisCenter), 90, 90);
            meshs.Add(yAxisCylinder);

            Mesh3D yAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);

            yAxisCone.SetColor(MAxisColor);
            TransformMatrix.Transform(yAxisCone, new Point3D(_mXAxisCenter, _mYAxisCenter + _mYAxisLength, _mZAxisCenter), 90, 90);
            meshs.Add(yAxisCone);

            Mesh3D zAxisCylinder = new Cylinder3D(radius, radius, _mZAxisLength, 6);

            zAxisCylinder.SetColor(MAxisColor);
            TransformMatrix.Transform(zAxisCylinder, new Point3D(_mXAxisCenter, _mYAxisCenter, _mZAxisCenter + _mZAxisLength / 2), 0, 0);
            meshs.Add(zAxisCylinder);

            Mesh3D zAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);

            zAxisCone.SetColor(MAxisColor);
            TransformMatrix.Transform(zAxisCone, new Point3D(_mXAxisCenter, _mYAxisCenter, _mZAxisCenter + _mZAxisLength), 0, 0);
            meshs.Add(zAxisCone);
        }
Exemplo n.º 3
0
        public void AddAxesMeshes(List <Mesh3D> meshs)
        {
            if (_bUseAxes)
            {
                var radius = (_xAxisLength + _yAxisLength + _zAxisLength) / (3 * _axisLengthWidthRatio);

                var xAxisCylinder = new Cylinder3D(radius, radius, _xAxisLength, 6);
                xAxisCylinder.SetColor(_axisColor);
                TransformMatrix.Transform(xAxisCylinder, new Point3D(_xAxisCenter + _xAxisLength / 2, _yAxisCenter, _zAxisCenter), 0, 90);
                meshs.Add(xAxisCylinder);

                var xAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);
                xAxisCone.SetColor(_axisColor);
                TransformMatrix.Transform(xAxisCone, new Point3D(_xAxisCenter + _xAxisLength, _yAxisCenter, _zAxisCenter), 0, 90);
                meshs.Add(xAxisCone);

                var yAxisCylinder = new Cylinder3D(radius, radius, _yAxisLength, 6);
                yAxisCylinder.SetColor(_axisColor);
                TransformMatrix.Transform(yAxisCylinder, new Point3D(_xAxisCenter, _yAxisCenter + _yAxisLength / 2, _zAxisCenter), 90, 90);
                meshs.Add(yAxisCylinder);

                var yAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);
                yAxisCone.SetColor(_axisColor);
                TransformMatrix.Transform(yAxisCone, new Point3D(_xAxisCenter, _yAxisCenter + _yAxisLength, _zAxisCenter), 90, 90);
                meshs.Add(yAxisCone);

                var zAxisCylinder = new Cylinder3D(radius, radius, _zAxisLength, 6);
                zAxisCylinder.SetColor(_axisColor);
                TransformMatrix.Transform(zAxisCylinder, new Point3D(_xAxisCenter, _yAxisCenter, _zAxisCenter + _zAxisLength / 2), 0, 0);
                meshs.Add(zAxisCylinder);

                var zAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);
                zAxisCone.SetColor(_axisColor);
                TransformMatrix.Transform(zAxisCone, new Point3D(_xAxisCenter, _yAxisCenter, _zAxisCenter + _zAxisLength), 0, 0);
                meshs.Add(zAxisCone);
            }
        }
Exemplo n.º 4
0
        // add the axes mesh to the Mesh3D array
        // if you are using the projection matrix which is not uniform along all the axess, you need change this function
        public void AddAxesMeshes(ArrayList meshs)
        {
            if (!m_bUseAxes) return;

            float radius = (m_xAxisLength+m_yAxisLength+m_zAxisLength) / (3*m_axisLengthWidthRatio);

            Mesh3D xAxisCylinder = new Cylinder3D(radius, radius, m_xAxisLength, 6);
            xAxisCylinder.SetColor(m_axisColor);
            TransformMatrix.Transform(xAxisCylinder, new Point3D( m_xAxisCenter + m_xAxisLength / 2, m_yAxisCenter, m_zAxisCenter), 0, 90);
            meshs.Add(xAxisCylinder);

            Mesh3D xAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);
            xAxisCone.SetColor(m_axisColor);
            TransformMatrix.Transform(xAxisCone, new Point3D(m_xAxisCenter + m_xAxisLength, m_yAxisCenter, m_zAxisCenter), 0, 90);
            meshs.Add(xAxisCone);

            Mesh3D yAxisCylinder = new Cylinder3D(radius, radius, m_yAxisLength, 6);
            yAxisCylinder.SetColor(m_axisColor);
            TransformMatrix.Transform(yAxisCylinder, new Point3D(m_xAxisCenter , m_yAxisCenter+ m_yAxisLength / 2, m_zAxisCenter), 90, 90);
            meshs.Add(yAxisCylinder);

            Mesh3D yAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);
            yAxisCone.SetColor(m_axisColor);
            TransformMatrix.Transform(yAxisCone, new Point3D(m_xAxisCenter, m_yAxisCenter + m_yAxisLength, m_zAxisCenter), 90, 90);
            meshs.Add(yAxisCone);

            Mesh3D zAxisCylinder = new Cylinder3D(radius, radius, m_zAxisLength, 6);
            zAxisCylinder.SetColor(m_axisColor);
            TransformMatrix.Transform(zAxisCylinder, new Point3D(m_xAxisCenter , m_yAxisCenter, m_zAxisCenter + m_zAxisLength / 2), 0, 0);
            meshs.Add(zAxisCylinder);

            Mesh3D zAxisCone = new Cone3D(2 * radius, 2 * radius, radius * 5, 6);
            zAxisCone.SetColor(m_axisColor);
            TransformMatrix.Transform(zAxisCone, new Point3D(m_xAxisCenter, m_yAxisCenter, m_zAxisCenter + m_zAxisLength), 0, 0);
            meshs.Add(zAxisCone);
        }