public static SPlatform CreateEmpty(uint numberPointsOnGround, uint numberOfInstruments, uint numberOfAxes)
            {
                var pointsArray = new SPoint3D[numberPointsOnGround].Set(SPoint3D.Default());
                var axisArray   = new SAxis[numberOfAxes].Set(SAxis.Default());
                var axisArray_m = MarshalArray(axisArray);

                var childPointers    = s_childPointerLut[axisArray_m];
                var instrumentsArray = new SInstrument[numberOfInstruments].Set(SInstrument.Default(childPointers));

                return(new SPlatform()
                {
                    m_pcPlatformId = NotSet.ToPtr(),
                    m_oPlatform2Ground = STransformation.Default(),
                    m_oBoundingBox = SBoundingBox.Default(),

                    m_nNrOfPlatformPointsOnGround = numberPointsOnGround,
                    m_poPointsOnGround = MarshalArray(pointsArray),

                    m_nNrOfPlatformInstruments = numberOfInstruments,
                    m_poPlatformInstruments = MarshalArray(instrumentsArray),

                    m_nNrOfPlatformAxes = numberOfAxes,
                    m_poPlatformAxes = axisArray_m
                });
            }
 public static SInstrumentExtrinsics Default()
 {
     return(new SInstrumentExtrinsics()
     {
         m_pcReferenceFrame = NotSet.ToPtr(),
         m_oPosition = SPoint3D.Default(),
         m_oLookAt = SVector3D.Default(),
         m_oUp = SVector3D.Default(),
         m_oBoundingBox = SBoundingBox.Default()
     });
 }
Beispiel #3
0
        public static Box3d ToBox3d(this SBoundingBox self)
        {
            var origin = self.m_oOriginBB.ToV3d();
            var edge1  = self.m_oEdge1.ToV3d();
            var edge2  = self.m_oEdge2.ToV3d();
            var edge3  = self.m_oEdge3.ToV3d();

            return(new Box3d(origin,
                             origin + edge1,
                             origin + edge2,
                             origin + edge3));
        }