30class CFxBIMEntityImpl;
31class CFxBIMEntityGeometryImpl;
44 class RevitFamilyImpl;
116 friend class FxBIM::RevitFamilyImpl;
157 const std::vector< FxBIM::Geo::BodyData >&
Bodies()
const;
202 std::shared_ptr< CFxBIMEntityGeometryImpl >
m_pImpl;
OdSmartPtr< OdDbCurve > OdDbCurvePtr
#define FXBIM_COMMON_CODE_API
OdSmartPtr< CFxBIMEntity > CFxBIMEntityPtr
OdSmartPtr< CFxMaterialLayerSet > CFxMaterialLayerSetPtr
std::shared_ptr< CFxBIMEntityGeometry > CFxBIMEntityGeometryPtr
OdArray< OdRxObjectPtr > OdRxObjectPtrArray
Error Explode(OdRxObjectPtrArray &entitySet) const
Error Extents(OdGeExtents3d &extents, EGeoType type=EGeoType::k3D) const
OdString MaterialName() const
CFxBIMEntityGeometry(CFxBIMEntityImpl *pEntityImpl, bool dbro2D)
void SetMaterial(OdDbObjectId idMaterial)
void SetMaterial(const OdString &material)
const std::vector< FxBIM::Geo::BodyData > & Bodies() const
Error Extents(OdGeExtents3d &extents, const OdGeMatrix3d &mTr, EGeoType type=EGeoType::k3D) const
OdString MaterialNameEx(OdDbObjectId &idMaterial, bool &bHasMultiBimMaterial, bool &bIsMultiComponent) const
friend class CFxBIMEntityGeometryImpl
void RemoveFromGS() const
Error Draw(OdGiWorldDraw *wd, EGeoType type=EGeoType::k3D) const
CFxBIMEntityImpl * m_pEntityImpl
OdDbObjectId GetUserBlock(const OdString &blockName) const
Error AddUserBlock(OdDbObjectId idBlock, const OdGeMatrix3d &mT, const OdString &name, const OdString &layer, const std::vector< OdGeVector3d > &directions)
const CFxMaterialLayerSetPtr MaterialLayerSet() const
void SnapPoints(OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPointsECS) const
bool IsEmpty(EGeoType type=EGeoType::k3D) const
std::set< OdDbObjectId > GetMaterial() const
std::shared_ptr< CFxBIMEntityGeometryImpl > m_pImpl
const CFxBIMEntityPtr Entity() const
Error RemoveUserBlock(OdDbObjectId idBlock)
friend class CFxBIMEntityImpl
const std::vector< FxBody > & FxBodies() const
std::vector< SBlock > GetUserBlocks() const
const std::vector< FxBody > & FxBodiesSplit() const
std::unique_ptr< Impl > m_pImpl
BodyData & operator=(const BodyData &other)=delete
BodyData & operator=(BodyData &&other) noexcept
BodyData(std::vector< ShellData > &&shells, OdDbObjectId idMaterial)
const OdGeExtents3d & Extents(const OdGeMatrix3d &mTr=OdGeMatrix3d::kIdentity) const
std::vector< ShellData > _shells
BodyData(BodyData &&other) noexcept
BodyData(const BodyData &other)=delete
Error AddShell(const OdCmColor &color, OdDbObjectId idMaterial, OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData, const OdGiVertexData *pVertexData)
ShellData(const ShellData &other)=delete
std::vector< OdGePoint3d > _vertices
ShellData(ShellData &&other) noexcept
ShellData & operator=(ShellData &&other) noexcept
std::vector< OdInt32 > _faces
ShellData(const OdCmColor &color, OdDbObjectId idMaterial, OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData, const OdGiVertexData *pVertexData)
ShellData & operator=(const ShellData &other)=delete
OdGiVertexData _vertexData
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
static GE_STATIC_EXPORT const OdGeVector3d kZAxis
GLuint const GLchar * name
GLuint GLsizei GLsizei GLint GLenum * type
static const EGeoType k3D
static const EGeoType k2DPlan
std::vector< OdGeVector3d > _directions