Open CASCADE Technology 7.8.2.dev
|
The HBuilder algorithm constructs topological objects from an existing topology and new geometries attached to the topology. It is used to construct the result of a topological operation; the existing topologies are the parts involved in the topological operation and the new geometries are the intersection lines and points. More...
#include <TopOpeBRepBuild_HBuilder.hxx>
Public Member Functions | |
TopOpeBRepBuild_HBuilder (const TopOpeBRepDS_BuildTool &BT) | |
const TopOpeBRepDS_BuildTool & | BuildTool () const |
void | Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS) |
Stores the data structure <HDS>, Create shapes from the new geometries described in <HDS>. | |
void | Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS, const TopoDS_Shape &S1, const TopoDS_Shape &S2) |
Same as previous + evaluates if an operation performed on shapes S1,S2 is a particular case. | |
void | Clear () |
Removes all split and merge already performed. Does NOT clear the handled DS. | |
Handle< TopOpeBRepDS_HDataStructure > | DataStructure () const |
returns the DS handled by this builder | |
TopOpeBRepDS_BuildTool & | ChangeBuildTool () |
void | MergeShapes (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopoDS_Shape &S2, const TopAbs_State TB2) |
Merges the two shapes <S1> and <S2> keeping the parts of states <TB1>,<TB2> in <S1>,<S2>. | |
void | MergeSolids (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopoDS_Shape &S2, const TopAbs_State TB2) |
Merges the two solids <S1> and <S2> keeping the parts in each solid of states <TB1> and <TB2>. | |
void | MergeSolid (const TopoDS_Shape &S, const TopAbs_State TB) |
Merges the solid | |
Standard_Boolean | IsSplit (const TopoDS_Shape &S, const TopAbs_State ToBuild) const |
Returns True if the shape | |
const TopTools_ListOfShape & | Splits (const TopoDS_Shape &S, const TopAbs_State ToBuild) const |
Returns the split parts <ToBuild> of shape | |
Standard_Boolean | IsMerged (const TopoDS_Shape &S, const TopAbs_State ToBuild) const |
Returns True if the shape | |
const TopTools_ListOfShape & | Merged (const TopoDS_Shape &S, const TopAbs_State ToBuild) const |
Returns the merged parts <ToBuild> of shape | |
const TopoDS_Shape & | NewVertex (const Standard_Integer I) const |
Returns the vertex created on point . | |
const TopTools_ListOfShape & | NewEdges (const Standard_Integer I) const |
Returns the edges created on curve . | |
TopTools_ListOfShape & | ChangeNewEdges (const Standard_Integer I) |
Returns the edges created on curve . | |
const TopTools_ListOfShape & | NewFaces (const Standard_Integer I) const |
Returns the faces created on surface . | |
const TopTools_ListOfShape & | Section () |
void | InitExtendedSectionDS (const Standard_Integer k=3) |
void | InitSection (const Standard_Integer k=3) |
Standard_Boolean | MoreSection () const |
void | NextSection () |
const TopoDS_Shape & | CurrentSection () const |
Standard_Integer | GetDSEdgeFromSectEdge (const TopoDS_Shape &E, const Standard_Integer rank) |
TColStd_ListOfInteger & | GetDSFaceFromDSEdge (const Standard_Integer indexEdg, const Standard_Integer rank) |
Standard_Integer | GetDSCurveFromSectEdge (const TopoDS_Shape &SectEdge) |
Standard_Integer | GetDSFaceFromDSCurve (const Standard_Integer indexCur, const Standard_Integer rank) |
Standard_Integer | GetDSPointFromNewVertex (const TopoDS_Shape &NewVert) |
Standard_Boolean | EdgeCurveAncestors (const TopoDS_Shape &E, TopoDS_Shape &F1, TopoDS_Shape &F2, Standard_Integer &IC) |
search for the couple of face F1,F2 (from arguments of supra Perform(S1,S2,HDS)) method which intersection gives section edge E built on an intersection curve. returns True if F1,F2 have been valued. returns False if E is not a section edge built on intersection curve IC. | |
Standard_Boolean | EdgeSectionAncestors (const TopoDS_Shape &E, TopTools_ListOfShape &LF1, TopTools_ListOfShape &LF2, TopTools_ListOfShape &LE1, TopTools_ListOfShape &LE2) |
search for the couple of face F1,F2 (from arguments of supra Perform(S1,S2,HDS)) method which intersection gives section edge E built on at least one edge . returns True if F1,F2 have been valued. returns False if E is not a section edge built on at least one edge of S1 and/or S2. LE1,LE2 are edges of S1,S2 which common part is edge E. LE1 or LE2 may be empty() but not both. | |
Standard_Integer | IsKPart () |
Returns 0 is standard operation, != 0 if particular case. | |
void | MergeKPart (const TopAbs_State TB1, const TopAbs_State TB2) |
TopOpeBRepBuild_Builder & | ChangeBuilder () |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Protected Attributes | |
TopOpeBRepBuild_Builder1 | myBuilder |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
The HBuilder algorithm constructs topological objects from an existing topology and new geometries attached to the topology. It is used to construct the result of a topological operation; the existing topologies are the parts involved in the topological operation and the new geometries are the intersection lines and points.
TopOpeBRepBuild_HBuilder::TopOpeBRepBuild_HBuilder | ( | const TopOpeBRepDS_BuildTool & | BT | ) |
const TopOpeBRepDS_BuildTool & TopOpeBRepBuild_HBuilder::BuildTool | ( | ) | const |
TopOpeBRepBuild_Builder & TopOpeBRepBuild_HBuilder::ChangeBuilder | ( | ) |
TopOpeBRepDS_BuildTool & TopOpeBRepBuild_HBuilder::ChangeBuildTool | ( | ) |
TopTools_ListOfShape & TopOpeBRepBuild_HBuilder::ChangeNewEdges | ( | const Standard_Integer | I | ) |
Returns the edges created on curve .
void TopOpeBRepBuild_HBuilder::Clear | ( | ) |
Removes all split and merge already performed. Does NOT clear the handled DS.
const TopoDS_Shape & TopOpeBRepBuild_HBuilder::CurrentSection | ( | ) | const |
Handle< TopOpeBRepDS_HDataStructure > TopOpeBRepBuild_HBuilder::DataStructure | ( | ) | const |
returns the DS handled by this builder
Standard_Boolean TopOpeBRepBuild_HBuilder::EdgeCurveAncestors | ( | const TopoDS_Shape & | E, |
TopoDS_Shape & | F1, | ||
TopoDS_Shape & | F2, | ||
Standard_Integer & | IC ) |
search for the couple of face F1,F2 (from arguments of supra Perform(S1,S2,HDS)) method which intersection gives section edge E built on an intersection curve. returns True if F1,F2 have been valued. returns False if E is not a section edge built on intersection curve IC.
Standard_Boolean TopOpeBRepBuild_HBuilder::EdgeSectionAncestors | ( | const TopoDS_Shape & | E, |
TopTools_ListOfShape & | LF1, | ||
TopTools_ListOfShape & | LF2, | ||
TopTools_ListOfShape & | LE1, | ||
TopTools_ListOfShape & | LE2 ) |
search for the couple of face F1,F2 (from arguments of supra Perform(S1,S2,HDS)) method which intersection gives section edge E built on at least one edge . returns True if F1,F2 have been valued. returns False if E is not a section edge built on at least one edge of S1 and/or S2. LE1,LE2 are edges of S1,S2 which common part is edge E. LE1 or LE2 may be empty() but not both.
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSCurveFromSectEdge | ( | const TopoDS_Shape & | SectEdge | ) |
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSEdgeFromSectEdge | ( | const TopoDS_Shape & | E, |
const Standard_Integer | rank ) |
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSFaceFromDSCurve | ( | const Standard_Integer | indexCur, |
const Standard_Integer | rank ) |
TColStd_ListOfInteger & TopOpeBRepBuild_HBuilder::GetDSFaceFromDSEdge | ( | const Standard_Integer | indexEdg, |
const Standard_Integer | rank ) |
Standard_Integer TopOpeBRepBuild_HBuilder::GetDSPointFromNewVertex | ( | const TopoDS_Shape & | NewVert | ) |
void TopOpeBRepBuild_HBuilder::InitExtendedSectionDS | ( | const Standard_Integer | k = 3 | ) |
void TopOpeBRepBuild_HBuilder::InitSection | ( | const Standard_Integer | k = 3 | ) |
Standard_Integer TopOpeBRepBuild_HBuilder::IsKPart | ( | ) |
Returns 0 is standard operation, != 0 if particular case.
Standard_Boolean TopOpeBRepBuild_HBuilder::IsMerged | ( | const TopoDS_Shape & | S, |
const TopAbs_State | ToBuild ) const |
Returns True if the shape has been merged.
Standard_Boolean TopOpeBRepBuild_HBuilder::IsSplit | ( | const TopoDS_Shape & | S, |
const TopAbs_State | ToBuild ) const |
Returns True if the shape has been split.
const TopTools_ListOfShape & TopOpeBRepBuild_HBuilder::Merged | ( | const TopoDS_Shape & | S, |
const TopAbs_State | ToBuild ) const |
Returns the merged parts <ToBuild> of shape .
void TopOpeBRepBuild_HBuilder::MergeKPart | ( | const TopAbs_State | TB1, |
const TopAbs_State | TB2 ) |
void TopOpeBRepBuild_HBuilder::MergeShapes | ( | const TopoDS_Shape & | S1, |
const TopAbs_State | TB1, | ||
const TopoDS_Shape & | S2, | ||
const TopAbs_State | TB2 ) |
Merges the two shapes <S1> and <S2> keeping the parts of states <TB1>,<TB2> in <S1>,<S2>.
void TopOpeBRepBuild_HBuilder::MergeSolid | ( | const TopoDS_Shape & | S, |
const TopAbs_State | TB ) |
Merges the solid keeping the parts of state <TB>.
void TopOpeBRepBuild_HBuilder::MergeSolids | ( | const TopoDS_Shape & | S1, |
const TopAbs_State | TB1, | ||
const TopoDS_Shape & | S2, | ||
const TopAbs_State | TB2 ) |
Merges the two solids <S1> and <S2> keeping the parts in each solid of states <TB1> and <TB2>.
Standard_Boolean TopOpeBRepBuild_HBuilder::MoreSection | ( | ) | const |
const TopTools_ListOfShape & TopOpeBRepBuild_HBuilder::NewEdges | ( | const Standard_Integer | I | ) | const |
Returns the edges created on curve .
const TopTools_ListOfShape & TopOpeBRepBuild_HBuilder::NewFaces | ( | const Standard_Integer | I | ) | const |
Returns the faces created on surface .
const TopoDS_Shape & TopOpeBRepBuild_HBuilder::NewVertex | ( | const Standard_Integer | I | ) | const |
Returns the vertex created on point .
void TopOpeBRepBuild_HBuilder::NextSection | ( | ) |
void TopOpeBRepBuild_HBuilder::Perform | ( | const Handle< TopOpeBRepDS_HDataStructure > & | HDS | ) |
Stores the data structure <HDS>, Create shapes from the new geometries described in <HDS>.
void TopOpeBRepBuild_HBuilder::Perform | ( | const Handle< TopOpeBRepDS_HDataStructure > & | HDS, |
const TopoDS_Shape & | S1, | ||
const TopoDS_Shape & | S2 ) |
Same as previous + evaluates if an operation performed on shapes S1,S2 is a particular case.
const TopTools_ListOfShape & TopOpeBRepBuild_HBuilder::Section | ( | ) |
const TopTools_ListOfShape & TopOpeBRepBuild_HBuilder::Splits | ( | const TopoDS_Shape & | S, |
const TopAbs_State | ToBuild ) const |
Returns the split parts <ToBuild> of shape .
|
protected |