CAD Exchanger SDK
cadex::ModelCheck_TopologyProblem Class Reference

Describes a topology problem. More...

Inheritance diagram for cadex::ModelCheck_TopologyProblem:
cadex::ModelCheck_BaseProblem

Public Types

enum  ReasonEnum {
  BadEdgesOrientation, BadWiresOrientation, CodirectionalEdges, NoGeometry,
  NoSubshapes, NotClosed, RepeatingSubshape
}
 Reason of problem. More...
 
- Public Types inherited from cadex::ModelCheck_BaseProblem
typedef std::shared_ptr< internal::ModelCheck_BaseProblemImpl > ImplType
 

Public Member Functions

 ModelCheck_TopologyProblem (ReasonEnum theReason)
 Constructor.
 
 ModelCheck_TopologyProblem (ReasonEnum theReason, const TopoDS_Compound &theCompound)
 Constructor.
 
const TopoDS_Compound & Compound () const
 Returns the compound of associated shapes.
 
ReasonEnum Reason () const
 Returns the reason of problem.
 
void Accept (const ModelCheck_ProblemVisitor &theVisitor) const override
 Accepts a problem visitor.
 
- Public Member Functions inherited from cadex::ModelCheck_BaseProblem
virtual ~ModelCheck_BaseProblem ()
 Desctructor.
 
ModelCheck_ProblemType Type () const
 Returns type of the problem.
 
ModelCheck_ErrorLevel Level () const
 Returns level of the problem.
 
const ImplType & Impl () const
 

Additional Inherited Members

- Protected Member Functions inherited from cadex::ModelCheck_BaseProblem
 ModelCheck_BaseProblem (const ImplType &theImpl)
 
template<typename T >
T * CastImpl () const
 Internal.
 
- Protected Attributes inherited from cadex::ModelCheck_BaseProblem
ImplType myImpl
 

Detailed Description

Describes a topology problem.

The problem takes place when there is a topological issue with shape. See ReasonEnum for detailed reasons of problem appearance.

Member Enumeration Documentation

◆ ReasonEnum

Reason of problem.

Enumerator
BadEdgesOrientation 

Edges in wire have bad orientation. E.g., head-to-tail orientation of edges is broken.

BadWiresOrientation 

Wires in face have bad orientation. Only outer wire is allowed to have forward orientation. All inner wires must be of reverse orientation.

CodirectionalEdges 

Some shared edges have same orientation, which is prohibited. Compound() holds these edges.

NoGeometry 

Shape lacks a geometry.

NoSubshapes 

Shape lacks subshapes.

NotClosed 

Shape is not closed. For Solid Compound() holds free bounds (wires of free edges).

RepeatingSubshape 

Shape has subshapes, which are met more than once, Compound() holds these subshapes.