예제 #1
0
        public NativeLineAdaptor(PointAdaptor point, UnitVectorAdaptor direction)
        {
            if (point != null)
                m_Point = point.Clone();
            else
                m_Point = new NativePointAdaptor();

            if (direction != null)
            {
                m_Direction = direction.Clone();
            }
            else
                m_Direction = new UnitVectorAdaptor(1,0,0);
        }
예제 #2
0
        public NativeLineAdaptor(PointAdaptor sp, PointAdaptor ep)
        {
            if (sp != null)
                m_Point = sp.Clone();
            else
                m_Point = new NativePointAdaptor();

            if (ep != null && !m_Point.IsEqualTo(ep))
            {
                VectorAdaptor direction = (ep - m_Point);

                m_Direction = direction.UnitVectorAdaptor;
            }
            else
                m_Direction = new UnitVectorAdaptor(1, 0, 0);
        }
 public override PlaneAdaptor CreatePlaneAdaptor(PointAdaptor point, UnitVectorAdaptor Normal)
 {
     return new MathLibPlaneAdaptor();
 }
 public override LineAdaptor CreateLineAdaptor(PointAdaptor point, UnitVectorAdaptor direction)
 {
     return new MathLibLineAdaptor();
 }
예제 #5
0
 public abstract PlaneAdaptor CreatePlaneAdaptor(PointAdaptor point, UnitVectorAdaptor Normal);
예제 #6
0
 public abstract LineAdaptor CreateLineAdaptor(PointAdaptor point, UnitVectorAdaptor direction);
예제 #7
0
 public override PlaneAdaptor CreatePlaneAdaptor(PointAdaptor point, UnitVectorAdaptor Normal)
 {
     return new NativePlaneAdaptor(point, Normal);
 }
예제 #8
0
 public override LineAdaptor CreateLineAdaptor(PointAdaptor point, UnitVectorAdaptor direction)
 {
     return new NativeLineAdaptor(point, direction);
 }