24 #ifndef __AECDBSPACETOOLS_H__ 
   25 #define __AECDBSPACETOOLS_H__ 
   46         explicit BlockRefPath( 
const std::vector<OdDbObjectId>& vecBlockRefs );
 
   86             : m_idTarget(idTarget), m_Path( rPath ) { }
 
   90             m_idTarget = idTarget;
 
  110         return !( rA == rB );
 
  122     class BoundaryVectorizer;
 
  179         return !( rA == rB );
 
  360         bool FindBoundingEntitiesForOtherSpacesOnTheDrawing(
AECDbSpacePtr& ptrSpace,
 
  361                                                             double dGap, 
bool bIgnoreHoles,
 
  368         void MakeClosedLoopFromSegments(std::vector<FacetModeler::Segment2D>& vecSegments, 
FacetModeler::Contour2D& rResult) 
const;
 
  377       void DebugDrawBoundaryAndMetadata(
const std::vector<FacetModeler::Segment2D>& vecSegments, 
OdUInt16 clrBoundary = 1, 
OdUInt16 clrEnt = 6) 
const;
 
  385         class AECImpSpaceCalculator* m_pImpl;
 
AECSpaceCalculator(const OdGeMatrix3d &mUCS, const OdDbObjectId &idRootBlock, AECDefs::SpaceBoundaryFilter eFilter)
 
bool FindGrossBoundaryDIN277(AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
void ApplyBasicGrossRules(const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
void ApplyOpeningsToNetUsable_SIS(FacetModeler::Profile2D &rBoundary)
 
void ApplyBomaUsableRules(const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
bool FindUsableBoundarySIS(AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
bool FindNetBoundarySIS(const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
void ApplySISUsableRules(const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
const AECSpaceRegen::BoundingEnt GetBoundingEnt(OdUInt32 iMetadata) const
 
bool FindGrossBoundaryBOMA(AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
bool UpdateSpace(AECDbSpacePtr pSpace) const
 
bool FindBoundary(const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary) const
 
bool FindInnerBoundary(const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary) const
 
bool ApplyRulesFuncToBaseBoundary(AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary, RULES_FUNCTION pRuleFunc, AECSpaceRegen::BoundingMode ebm=AECSpaceRegen::ebmWallCenterLines)
 
void Reset(const OdGeMatrix3d &mUCS, const OdDbObjectId &idRootBlock, AECDefs::SpaceBoundaryFilter eFilter)
 
bool FindUsableBoundaryBOMA(AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
bool FindOuterBoundary(const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary) const
 
bool FindNetBoundaryBOMA(const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
bool FindGrossBoundaryBasic(AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
void ApplyBomaGrossRules(const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
AECDbSpacePtr CreateSpace(const FacetModeler::Profile2D &rBoundary, const OdDbObjectId &idStyle, AECDefs::SpaceGeometryType eType, AECDefs::SpaceOffsetBoundaries eOffsets) const
 
void ApplyDIN277GrossRules(const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
bool FindCenterlinesBoundary(const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary) const
 
void AppendToBoundarySet(const OdDbObjectId &idEntity)
 
BlockRefPath(const std::vector< OdDbObjectId > &vecBlockRefs)
 
BlockRefPath(const BlockRefPath &rPath)
 
const std::vector< OdDbObjectId > & GetBlockRefs() const
 
const OdGeMatrix3d & GetTransform() const
 
static AECARCHBASE_API_STATIC const BlockRefPath kNull
 
const FacetModeler::Profile2D & GetGeometry() const
 
BoundingEnt(const BoundingEnt &rBEnt)
 
static AECARCHBASE_API_STATIC const BoundingEnt kNull
 
BoundingEnt(const EntityReference &rEntRef, BoundaryVectorizer *pVect)
 
BoundaryType GetType() const
 
const EntityReference & GetEntRef() const
 
EntityReference & set(const OdDbObjectId &idTarget, const BlockRefPath &rPath=BlockRefPath::kNull)
 
const OdDbObjectId & GetTarget() const
 
const BlockRefPath & GetPath() const
 
static AECARCHBASE_API_STATIC const EntityReference kNull
 
EntityReference(const OdDbObjectId &idTarget, const BlockRefPath &rPath)
 
EntityReference(const OdDbObjectId &idTarget)
 
OdIntPtr metadata() const
 
bool GetBoundaryOverlappedWith(const FacetModeler::Segment2D &aBoundarySeg, OdDbObjectId idBE, FacetModeler::Segment2D &segOverlappedPart)
 
FacetModeler::Profile2D rBoundary
 
std::set< OdDbObjectId > m_boundingEntsIds
 
AECSpaceRegen::BoundingEnt GetBEForSegment(const FacetModeler::Segment2D &seg)
 
std::vector< AECSpaceRegen::BoundingEnt > m_boundingEnts
 
bool HasBoundaryWithEntity(OdDbObjectId idObj)
 
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)
 
bool operator==(const BlockRefPath &rA, const BlockRefPath &rB)
DOM.
 
bool operator!=(const BlockRefPath &rA, const BlockRefPath &rB)
DOM.
 
FacetModeler::Segment2D segChunk
 
AECDbSpacePtr ptrAdjacentSpace