CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
AECSpaceCalculator Class Reference

#include <AECDbSpaceTools.h>

Public Types

typedef void(AECSpaceCalculator::* RULES_FUNCTION) (const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 

Public Member Functions

 AECSpaceCalculator (const OdGeMatrix3d &mUCS, const OdDbObjectId &idRootBlock, AECDefs::SpaceBoundaryFilter eFilter)
 
 ~AECSpaceCalculator ()
 
void Reset ()
 
void Reset (const OdGeMatrix3d &mUCS, const OdDbObjectId &idRootBlock, AECDefs::SpaceBoundaryFilter eFilter)
 
void AppendToBoundarySet (const OdDbObjectId &idEntity)
 
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 FindOuterBoundary (const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary) const
 
bool FindCenterlinesBoundary (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)
 
bool FindGrossBoundaryBasic (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)
 
bool FindGrossBoundaryDIN277 (AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
void ApplyDIN277GrossRules (const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
bool FindNetBoundarySIS (const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
bool FindUsableBoundarySIS (AECDbSpacePtr &ptrSpace, 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)
 
void ApplyOpeningsToNetUsable_SIS (FacetModeler::Profile2D &rBoundary)
 
bool FindNetBoundaryBOMA (const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
bool FindUsableBoundaryBOMA (AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
bool FindGrossBoundaryBOMA (AECDbSpacePtr &ptrSpace, const OdGePoint2d &ptHitTest, double dGap, bool bIgnoreHoles, FacetModeler::Profile2D &rBoundary)
 
void ApplyBomaUsableRules (const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
void ApplyBomaGrossRules (const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)
 
const AECSpaceRegen::BoundingEnt GetBoundingEnt (OdUInt32 iMetadata) const
 
AECDbSpacePtr CreateSpace (const FacetModeler::Profile2D &rBoundary, const OdDbObjectId &idStyle, AECDefs::SpaceGeometryType eType, AECDefs::SpaceOffsetBoundaries eOffsets) const
 
bool UpdateSpace (AECDbSpacePtr pSpace) const
 

Detailed Description

Automatic Space Calculator.

<group TA_API_Auxiliary_Classes>

Definition at line 231 of file AECDbSpaceTools.h.

Member Typedef Documentation

◆ RULES_FUNCTION

typedef void(AECSpaceCalculator::* AECSpaceCalculator::RULES_FUNCTION) (const AECSpaceRegen::BoundingEnt &be, const bool isAdjacentToOtherSpace, FacetModeler::Segment2D &curSeg, AECDbSpacePtr &ptrSpace, AECDbSpacePtr &ptrAdjacentSpace)

Definition at line 234 of file AECDbSpaceTools.h.

Constructor & Destructor Documentation

◆ AECSpaceCalculator()

AECSpaceCalculator::AECSpaceCalculator ( const OdGeMatrix3d mUCS,
const OdDbObjectId idRootBlock,
AECDefs::SpaceBoundaryFilter  eFilter 
)

Constructor.

◆ ~AECSpaceCalculator()

AECSpaceCalculator::~AECSpaceCalculator ( )

Destructor.

Member Function Documentation

◆ AppendToBoundarySet()

void AECSpaceCalculator::AppendToBoundarySet ( const OdDbObjectId idEntity)

Appends specific entity from root block to boundary set.

◆ ApplyBasicGrossRules()

void AECSpaceCalculator::ApplyBasicGrossRules ( const AECSpaceRegen::BoundingEnt be,
const bool  isAdjacentToOtherSpace,
FacetModeler::Segment2D curSeg,
AECDbSpacePtr ptrSpace,
AECDbSpacePtr ptrAdjacentSpace 
)

◆ ApplyBomaGrossRules()

void AECSpaceCalculator::ApplyBomaGrossRules ( const AECSpaceRegen::BoundingEnt be,
const bool  isAdjacentToOtherSpace,
FacetModeler::Segment2D curSeg,
AECDbSpacePtr ptrSpace,
AECDbSpacePtr ptrAdjacentSpace 
)

◆ ApplyBomaUsableRules()

void AECSpaceCalculator::ApplyBomaUsableRules ( const AECSpaceRegen::BoundingEnt be,
const bool  isAdjacentToOtherSpace,
FacetModeler::Segment2D curSeg,
AECDbSpacePtr ptrSpace,
AECDbSpacePtr ptrAdjacentSpace 
)

◆ ApplyDIN277GrossRules()

void AECSpaceCalculator::ApplyDIN277GrossRules ( const AECSpaceRegen::BoundingEnt be,
const bool  isAdjacentToOtherSpace,
FacetModeler::Segment2D curSeg,
AECDbSpacePtr ptrSpace,
AECDbSpacePtr ptrAdjacentSpace 
)

◆ ApplyOpeningsToNetUsable_SIS()

void AECSpaceCalculator::ApplyOpeningsToNetUsable_SIS ( FacetModeler::Profile2D rBoundary)

◆ ApplyRulesFuncToBaseBoundary()

bool AECSpaceCalculator::ApplyRulesFuncToBaseBoundary ( AECDbSpacePtr ptrSpace,
const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary,
RULES_FUNCTION  pRuleFunc,
AECSpaceRegen::BoundingMode  ebm = AECSpaceRegen::ebmWallCenterLines 
)

◆ ApplySISUsableRules()

void AECSpaceCalculator::ApplySISUsableRules ( const AECSpaceRegen::BoundingEnt be,
const bool  isAdjacentToOtherSpace,
FacetModeler::Segment2D curSeg,
AECDbSpacePtr ptrSpace,
AECDbSpacePtr ptrAdjacentSpace 
)

◆ CreateSpace()

AECDbSpacePtr AECSpaceCalculator::CreateSpace ( const FacetModeler::Profile2D rBoundary,
const OdDbObjectId idStyle,
AECDefs::SpaceGeometryType  eType,
AECDefs::SpaceOffsetBoundaries  eOffsets 
) const

Generates a space.

◆ FindBoundary()

bool AECSpaceCalculator::FindBoundary ( const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
) const

Finds space boundary.

Parameters
ptHitTest[in] Inside point in cached UCS.
eFilter[in] Filter.
dGap[in] Maximum gap between parallel segments.
bIgnoreHoles[in] Whether holes should be ignored.
rBoundary[out] Resulting boundary.

◆ FindCenterlinesBoundary()

bool AECSpaceCalculator::FindCenterlinesBoundary ( const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
) const

◆ FindGrossBoundaryBasic()

bool AECSpaceCalculator::FindGrossBoundaryBasic ( AECDbSpacePtr ptrSpace,
const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
)

◆ FindGrossBoundaryBOMA()

bool AECSpaceCalculator::FindGrossBoundaryBOMA ( AECDbSpacePtr ptrSpace,
const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
)

◆ FindGrossBoundaryDIN277()

bool AECSpaceCalculator::FindGrossBoundaryDIN277 ( AECDbSpacePtr ptrSpace,
const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
)

◆ FindInnerBoundary()

bool AECSpaceCalculator::FindInnerBoundary ( const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
) const

◆ FindNetBoundaryBOMA()

bool AECSpaceCalculator::FindNetBoundaryBOMA ( const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
)

◆ FindNetBoundarySIS()

bool AECSpaceCalculator::FindNetBoundarySIS ( const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
)

◆ FindOuterBoundary()

bool AECSpaceCalculator::FindOuterBoundary ( const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
) const

◆ FindUsableBoundaryBOMA()

bool AECSpaceCalculator::FindUsableBoundaryBOMA ( AECDbSpacePtr ptrSpace,
const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
)

◆ FindUsableBoundarySIS()

bool AECSpaceCalculator::FindUsableBoundarySIS ( AECDbSpacePtr ptrSpace,
const OdGePoint2d ptHitTest,
double  dGap,
bool  bIgnoreHoles,
FacetModeler::Profile2D rBoundary 
)

◆ GetBoundingEnt()

const AECSpaceRegen::BoundingEnt AECSpaceCalculator::GetBoundingEnt ( OdUInt32  iMetadata) const

Returns reference to an entity, corresponding to the given metadata value. Call this method after FindBoundary to find entities that form the resulting rBoundary.

◆ Reset() [1/2]

void AECSpaceCalculator::Reset ( )

Resets all data.

◆ Reset() [2/2]

void AECSpaceCalculator::Reset ( const OdGeMatrix3d mUCS,
const OdDbObjectId idRootBlock,
AECDefs::SpaceBoundaryFilter  eFilter 
)

Resets all data.

◆ UpdateSpace()

bool AECSpaceCalculator::UpdateSpace ( AECDbSpacePtr  pSpace) const

Updates a space.


The documentation for this class was generated from the following file: