CFx SDK Documentation  2023 SP0
BrEntity.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, 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-2017 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 
25 
26 #ifndef _INC_DDBRENTITY_3F819553013C_INCLUDED
27 #define _INC_DDBRENTITY_3F819553013C_INCLUDED
28 
29 
30 #include "OdaCommon.h"
31 #include "Br/BrExport.h"
32 #include "Br/BrEnums.h"
33 #include "Br/BrMassProps.h"
34 
35 #include "TD_PackPush.h"
36 #include "SharedPtr.h"
37 #include "DbBaseSubentId.h"
38 #include "../Ge/Ge.h"
39 
40 class OdBrBrep;
41 class OdBrHit;
42 class OdGePoint3d;
43 class OdGeLinearEnt3d;
44 
45 
54 {
55 public:
56 
60  bool isNull() const;
61 
71  bool isEqualTo(
72  const OdBrEntity* pOtherEntity) const;
73 
77  bool getBrep(OdBrBrep& brep) const;
78 
82  bool checkEntity() const;
83 
89 
90  virtual ~OdBrEntity();
91 
92  // for internal usage only. OdDbBody::setSubentPath should be used instead.
94 
96  OdGe::PointContainment& containment,
97  OdBrEntity*& brEntContainer ) const;
98 
100  const OdUInt32& iNumHitsWanted,
101  OdUInt32& iNumHitsFound,
102  OdBrHit*& brHit ) const;
103 
104 
105 /*
106  void* getEntity() const;
107  OdBrErrorStatus setEntity(void* pData, OdDbBaseFullSubentPath& subPath = *(OdDbBaseFullSubentPath*)NULL);
108 
109  // Geometric bounds (i.e., model space bounding box)
110  OdBrErrorStatus getBoundBlock(OdGeBoundBlock3d& block) const;
111 */
112 
113  // Validation
116 
117  //BrEntityFlags
119 
121 /*
122  bool brepChanged() const;
123 
124  // Queries & Initialisers
125  OdBrErrorStatus set(const BrValidationLevel& path);
126  OdBrErrorStatus get(BrValidationLevel& path) const;
127  OdBrErrorStatus set(OdBrBrepData* data);
128  OdBrErrorStatus get(OdBrBrepData*& data) const;
129 */
130  // Geometric properties
132  const double& dDensity = *(double*)NULL,
133  const double& dTolRequired = *(double*)NULL,
134  double& dTolAchieved = *(double*)NULL) const;
135 
136  OdBrErrorStatus getVolume(double& dVolume,
137  const double& dTolRequired = *(double*)NULL,
138  double& dTolAchieved = *(double*)NULL) const;
139 
141  const double& dTolRequired = *(double*)NULL,
142  double& dTolAchieved = *(double*)NULL) const;
143 
145  const double& dTolRequired = *(double*)NULL,
146  double& dTolAchieved = *(double*)NULL) const;
147 
148 protected:
149  void *m_pImp;
151  bool m_bIsValidate; //The enum has only 2 values.
152 
154 
155  friend class OdBrEntityInternals;
156 };
157 
158 #include "TD_PackPop.h"
159 
160 #endif /* _INC_DDBRENTITY_3F819553013C_INCLUDED */
161 
OdBrErrorStatus
Definition: BrEnums.h:41
BrValidationLevel
Definition: BrEnums.h:93
#define ODBR_TOOLKIT_EXPORT
Definition: BrExport.h:39
#define NULL
Definition: GsProperties.h:177
unsigned int OdUInt32
int OdInt32
OdBrErrorStatus getValidationLevel(BrValidationLevel &level) const
OdBrErrorStatus setSubentPath(OdBrBrep &brep, OdDbBaseFullSubentPath &subpath)
OdSharedPtr< OdDbStubPtrArray > m_pFSubentPath
Definition: BrEntity.h:150
OdBrErrorStatus setValidationLevel(const BrValidationLevel &level= *(BrValidationLevel *) NULL)
OdBrErrorStatus getLineContainment(const OdGeLinearEnt3d &line, const OdUInt32 &iNumHitsWanted, OdUInt32 &iNumHitsFound, OdBrHit *&brHit) const
OdBrErrorStatus getPointContainment(const OdGePoint3d &point, OdGe::PointContainment &containment, OdBrEntity *&brEntContainer) const
OdBrErrorStatus getPerimeterLength(double &dLength, const double &dTolRequired= *(double *) NULL, double &dTolAchieved= *(double *) NULL) const
OdBrErrorStatus getSurfaceArea(double &dArea, const double &dTolRequired= *(double *) NULL, double &dTolAchieved= *(double *) NULL) const
OdBrErrorStatus getSubentPath(OdDbBaseFullSubentPath &subPath) const
bool getBrep(OdBrBrep &brep) const
bool m_bIsValidate
Definition: BrEntity.h:151
bool isEqualTo(const OdBrEntity *pOtherEntity) const
OdBrErrorStatus getVolume(double &dVolume, const double &dTolRequired= *(double *) NULL, double &dTolAchieved= *(double *) NULL) const
bool isNull() const
OdUInt32 getFlags() const
bool checkEntity() const
OdInt32 getGsMarker() const
void * m_pImp
Definition: BrEntity.h:149
OdBrErrorStatus getMassProps(OdBrMassProps &massProps, const double &dDensity= *(double *) NULL, const double &dTolRequired= *(double *) NULL, double &dTolAchieved= *(double *) NULL) const
virtual ~OdBrEntity()
Definition: BrHit.h:39
GLint level
Definition: gles2_ext.h:110
PointContainment
Definition: Ge.h:161