CFx SDK Documentation  2023 SP0
FMWrapper3D.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2015, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2015 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef __FMWRAPPER3D_H__
25 #define __FMWRAPPER3D_H__
26 
27 #include "FMContoursBase.h"
28 #include <Ge/GeMatrix3d.h>
29 #include <Ge/GePlane.h>
30 #include <Ge/GePoint3d.h>
34 namespace FacetModeler
35 {
36 
37 class FMGEOMETRY_API Wrapper3D
38 {
39  public:
44 
48  explicit Wrapper3D( const OdGeMatrix3d& rMatrix );
49 
53  explicit Wrapper3D( const OdGeVector3d& vXAxis,
54  const OdGeVector3d& vYAxis,
55  const OdGePoint3d& ptOrigin = OdGePoint3d::kOrigin );
56 
60  explicit Wrapper3D( const OdGePlane& rPlane );
61 
65  const OdGeMatrix3d& transform() const;
66 
67  OdGePlane plane() const;
68 
73 
77  Result setTransform( const OdGeMatrix3d& mTransform );
78 
83  const OdGeVector3d& vYAxis,
84  const OdGePoint3d& ptOrigin = OdGePoint3d::kOrigin );
85 
89  Result transformBy( const OdGeMatrix3d& mMatrix );
90 
94  void to3D( const OdGePoint2d& rSource2D,
95  OdGePoint3d& rDest3D ) const;
96 
100  void to3D( const OdGeVector2d& rSource2D,
101  OdGeVector3d& rDest3D ) const;
102 
106  Result to2D( const OdGePoint3d& rSource3D,
107  OdGePoint2d& rDest2D ) const;
108 
112  Result to2D( const OdGeVector3d& rSource3D,
113  OdGeVector2d& rDest2D ) const;
114 
118  void swap( Wrapper3D& rAnother );
119 
122  bool getUnifiedTransform(const OdGeMatrix3d& mDest, OdGeMatrix3d& mNewTrans3D, OdGeMatrix2d& mTrans2D ) const;
123 
124  private:
125  OdGeMatrix3d m_mTrans;
126  OdGeMatrix3d m_mInvertTrans;
127 };
128 
129 }; // namespace AECContours
130 
131 #endif //__FMWRAPPER3D_H__
const OdGeMatrix3d & transform() const
Result to2D(const OdGePoint3d &rSource3D, OdGePoint2d &rDest2D) const
Wrapper3D(const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis, const OdGePoint3d &ptOrigin=OdGePoint3d::kOrigin)
Wrapper3D(const OdGePlane &rPlane)
OdGePlane plane() const
Result to2D(const OdGeVector3d &rSource3D, OdGeVector2d &rDest2D) const
void to3D(const OdGePoint2d &rSource2D, OdGePoint3d &rDest3D) const
Wrapper3D(const OdGeMatrix3d &rMatrix)
Result setTransform(const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis, const OdGePoint3d &ptOrigin=OdGePoint3d::kOrigin)
void swap(Wrapper3D &rAnother)
Result setTransform(const OdGeMatrix3d &mTransform)
void to3D(const OdGeVector2d &rSource2D, OdGeVector3d &rDest3D) const
Result transformBy(const OdGeMatrix3d &mMatrix)
const OdGeMatrix3d & inversedTransform() const
bool getUnifiedTransform(const OdGeMatrix3d &mDest, OdGeMatrix3d &mNewTrans3D, OdGeMatrix2d &mTrans2D) const
static GE_STATIC_EXPORT const OdGePoint3d kOrigin
Definition: GePoint3d.h:89