Open CASCADE Technology 7.8.0
|
Sorts IGES Entities on the views and drawings. In a first step, it splits a set of entities according the different views they are attached to. Then, packets according single views (+ drawing frames), or according drawings (which refer to the views) can be determined. More...
#include <IGESSelect_ViewSorter.hxx>
Public Member Functions | |
IGESSelect_ViewSorter () | |
Creates a ViewSorter, empty. SetModel remains to be called. | |
void | SetModel (const Handle< IGESData_IGESModel > &model) |
Sets the Model (for PacketList) | |
void | Clear () |
Clears recorded data. | |
Standard_Boolean | Add (const Handle< Standard_Transient > &ent) |
Adds an item according its type : AddEntity,AddList,AddModel. | |
Standard_Boolean | AddEntity (const Handle< IGESData_IGESEntity > &igesent) |
Adds an IGES entity. Records the view it is attached to. Records directly <ent> if it is a ViewKindEntity or a Drawing Returns True if added, False if already in the map. | |
void | AddList (const Handle< TColStd_HSequenceOfTransient > &list) |
Adds a list of entities by adding each of the items. | |
void | AddModel (const Handle< Interface_InterfaceModel > &model) |
Adds all the entities contained in a Model. | |
Standard_Integer | NbEntities () const |
Returns the count of already recorded. | |
void | SortSingleViews (const Standard_Boolean alsoframes) |
Prepares the result to keep only sets attached to Single Views If <alsoframes> is given True, it keeps also the Drawings as specific sets, in order to get their frames. Entities attached to no single view are put in Remaining List. | |
void | SortDrawings (const Interface_Graph &G) |
Prepares the result to the sets attached to Drawings : All the single views referenced by a Drawing become bound to the set for this Drawing. | |
Standard_Integer | NbSets (const Standard_Boolean final) const |
Returns the count of sets recorded, one per distinct item. The Remaining List is not counted. If <final> is False, the sets are attached to distinct views determined by the method Add. If <final> is True, they are the sets determined by the last call to, either SortSingleViews, or SortDrawings. | |
Handle< IGESData_IGESEntity > | SetItem (const Standard_Integer num, const Standard_Boolean final) const |
Returns the Item which is attached to a set of entities For <final> and definition of sets, see method NbSets. This item can be a kind of View or a Drawing. | |
Handle< IFSelect_PacketList > | Sets (const Standard_Boolean final) const |
Returns the complete content of the determined Sets, which include Duplicated and Remaining (duplication 0) lists For <final> and definition of sets, see method NbSets. | |
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. | |
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. | |
Sorts IGES Entities on the views and drawings. In a first step, it splits a set of entities according the different views they are attached to. Then, packets according single views (+ drawing frames), or according drawings (which refer to the views) can be determined.
It is a TShared, hence it can be a workomg field of a non- mutable object (a Dispatch for instance)
IGESSelect_ViewSorter::IGESSelect_ViewSorter | ( | ) |
Creates a ViewSorter, empty. SetModel remains to be called.
Standard_Boolean IGESSelect_ViewSorter::Add | ( | const Handle< Standard_Transient > & | ent | ) |
Adds an item according its type : AddEntity,AddList,AddModel.
Standard_Boolean IGESSelect_ViewSorter::AddEntity | ( | const Handle< IGESData_IGESEntity > & | igesent | ) |
Adds an IGES entity. Records the view it is attached to. Records directly <ent> if it is a ViewKindEntity or a Drawing Returns True if added, False if already in the map.
void IGESSelect_ViewSorter::AddList | ( | const Handle< TColStd_HSequenceOfTransient > & | list | ) |
Adds a list of entities by adding each of the items.
void IGESSelect_ViewSorter::AddModel | ( | const Handle< Interface_InterfaceModel > & | model | ) |
Adds all the entities contained in a Model.
void IGESSelect_ViewSorter::Clear | ( | ) |
Clears recorded data.
Standard_Integer IGESSelect_ViewSorter::NbEntities | ( | ) | const |
Returns the count of already recorded.
Standard_Integer IGESSelect_ViewSorter::NbSets | ( | const Standard_Boolean | final | ) | const |
Returns the count of sets recorded, one per distinct item. The Remaining List is not counted. If <final> is False, the sets are attached to distinct views determined by the method Add. If <final> is True, they are the sets determined by the last call to, either SortSingleViews, or SortDrawings.
Warning : Drawings directly recorded are also counted as sets, because of their Frame (which is made of Annotations)
Handle< IGESData_IGESEntity > IGESSelect_ViewSorter::SetItem | ( | const Standard_Integer | num, |
const Standard_Boolean | final | ||
) | const |
Returns the Item which is attached to a set of entities For <final> and definition of sets, see method NbSets. This item can be a kind of View or a Drawing.
void IGESSelect_ViewSorter::SetModel | ( | const Handle< IGESData_IGESModel > & | model | ) |
Sets the Model (for PacketList)
Handle< IFSelect_PacketList > IGESSelect_ViewSorter::Sets | ( | const Standard_Boolean | final | ) | const |
Returns the complete content of the determined Sets, which include Duplicated and Remaining (duplication 0) lists For <final> and definition of sets, see method NbSets.
void IGESSelect_ViewSorter::SortDrawings | ( | const Interface_Graph & | G | ) |
Prepares the result to the sets attached to Drawings : All the single views referenced by a Drawing become bound to the set for this Drawing.
Entities or Views which correspond to no Drawing are put into the Remaining List.
Result can then be read by the methods NbSets,SetItem,SetList, RemainingList(final = True)
void IGESSelect_ViewSorter::SortSingleViews | ( | const Standard_Boolean | alsoframes | ) |
Prepares the result to keep only sets attached to Single Views If <alsoframes> is given True, it keeps also the Drawings as specific sets, in order to get their frames. Entities attached to no single view are put in Remaining List.
Result can then be read by the methods NbSets,SetItem,SetList, RemainingList(final = True)