CFx SDK Documentation  2022 SP0
FMProfile3D.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 __FMPROFILE3D_H__
25 #define __FMPROFILE3D_H__
26 
27 #include "FMProfile2D.h"
28 #include "FMWrapper3D.h"
29 
33 namespace FacetModeler
34 {
35 
42 class FMGEOMETRY_API Profile3D : public Profile2D, public Wrapper3D
43 {
44  public:
49 
54 
58  explicit Profile3D( const Profile2D& cFrom2d );
59 
63  explicit Profile3D( const Profile2D& cFrom2d,
64  const OdGeMatrix3d& mMatrix );
65 
69  explicit Profile3D( const Profile2D& cFrom2d,
70  const OdGeVector3d& vXAxis, const OdGeVector3d& vYAxis );
71 
75  explicit Profile3D( const Profile2D& cFrom2d,
76  const OdGePlane& rPlane );
77 
81  explicit Profile3D( const OdGeMatrix3d& mMatrix );
82 
86  explicit Profile3D( const OdGeVector3d& vXAxis,
87  const OdGeVector3d& vYAxis, const OdGePoint3d& ptOrigin = OdGePoint3d::kOrigin );
88 
92  explicit Profile3D( const OdGePlane& pPlane );
93 
98  const DeviationParams& devDeviation = FMGeGbl::gDefDev );
99 
103  Result transformBy(const OdGeMatrix3d& mMatrix );
104 
108  void swap( Profile2D& rAnother );
109 
113  void swap( Profile3D& rAnother );
114 
118  inline const Profile2D& as2d() const { return *this; }
119 
123  inline Profile2D& as2d() { return *this; }
124 };
125 
126 }; // namespace AECContours
127 
128 #endif //__FMPROFILE3D_H__
Profile3D(const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis, const OdGePoint3d &ptOrigin=OdGePoint3d::kOrigin)
Profile3D(const OdGeMatrix3d &mMatrix)
Profile3D(const Profile2D &cFrom2d, const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis)
Result transformBy(const OdGeMatrix3d &mMatrix)
const Profile2D & as2d() const
Definition: FMProfile3D.h:118
Profile3D(const Profile2D &cFrom2d, const OdGePlane &rPlane)
void swap(Profile3D &rAnother)
Profile3D(const OdGePlane &pPlane)
Profile3D(const Profile2D &cFrom2d, const OdGeMatrix3d &mMatrix)
void swap(Profile2D &rAnother)
Result transformBy(const OdGeMatrix2d &mMatrix, const DeviationParams &devDeviation=FMGeGbl::gDefDev)
Profile3D(const Profile2D &cFrom2d)
static GE_STATIC_EXPORT const OdGePoint3d kOrigin
Definition: GePoint3d.h:89
static FMGEOMETRY_API_STATIC DeviationParams gDefDev
Definition: FMGeometry.h:148