Hide menu
cadex::ModelCheck_TopologyProblem Class Reference

Describes a topology problem. More...

Inheritance diagram for cadex::ModelCheck_TopologyProblem:

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)
 ModelCheck_TopologyProblem (ReasonEnum theReason, const TopoDS_Compound &theCompound)
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 ()
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
- 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.


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


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


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


Shape lacks a geometry.


Shape lacks subshapes.


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


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