Open CASCADE Technology 7.8.0
|
This Tool determines and gives access to effective Locations of IGES Entities as defined by the IGES Norm. These Locations can be for each Entity : More...
#include <IGESData_ToolLocation.hxx>
Public Member Functions | |
IGESData_ToolLocation (const Handle< IGESData_IGESModel > &amodel, const Handle< IGESData_Protocol > &protocol) | |
Creates a ToolLocation on a given Model, filled with the help of a Protocol (which allows to known Entities referenced by other ones) | |
void | Load () |
Does the effective work of determining Locations of Entities. | |
void | SetPrecision (const Standard_Real prec) |
Sets a precision for the Analysis of Locations (default by constructor is 1.E-05) | |
void | SetReference (const Handle< IGESData_IGESEntity > &parent, const Handle< IGESData_IGESEntity > &child) |
Sets the "Reference" information for <child> as being <parent> Sets an Error Status if already set (see method IsAmbiguous) | |
void | SetParentAssoc (const Handle< IGESData_IGESEntity > &parent, const Handle< IGESData_IGESEntity > &child) |
Sets the "Associativity" information for <child> as being <parent> (it must be the Parent itself, not the Associativity) | |
void | ResetDependences (const Handle< IGESData_IGESEntity > &child) |
Resets all information about dependences for <child> | |
void | SetOwnAsDependent (const Handle< IGESData_IGESEntity > &ent) |
Unitary action which defines Entities referenced by <ent> (except those in Directory Part and Associativities List) as Dependent (their Locations are related to that of <ent>) | |
Standard_Boolean | IsTransf (const Handle< IGESData_IGESEntity > &ent) const |
Returns True if <ent> is kind of TransfEntity. Then, it has no location, while it can be used to define a Location) | |
Standard_Boolean | IsAssociativity (const Handle< IGESData_IGESEntity > &ent) const |
Returns True if <ent> is an Associativity (IGES Type 402). Then, Location does not apply. | |
Standard_Boolean | HasTransf (const Handle< IGESData_IGESEntity > &ent) const |
Returns True if <ent> has a Transformation Matrix in proper (referenced from its Directory Part) | |
gp_GTrsf | ExplicitLocation (const Handle< IGESData_IGESEntity > &ent) const |
Returns the Explicit Location defined by the Transformation Matrix of <ent>. Identity if there is none. | |
Standard_Boolean | IsAmbiguous (const Handle< IGESData_IGESEntity > &ent) const |
Returns True if more than one Parent has been determined for <ent>, by adding direct References and Associativities. | |
Standard_Boolean | HasParent (const Handle< IGESData_IGESEntity > &ent) const |
Returns True if <ent> is dependent from one and only one other Entity, either by Reference or by Associativity. | |
Handle< IGESData_IGESEntity > | Parent (const Handle< IGESData_IGESEntity > &ent) const |
Returns the unique Parent recorded for <ent>. Returns a Null Handle if there is none. | |
Standard_Boolean | HasParentByAssociativity (const Handle< IGESData_IGESEntity > &ent) const |
Returns True if the Parent, if there is one, is defined by a SingleParentEntity Associativity Else, if HasParent is True, it is by Reference. | |
gp_GTrsf | ParentLocation (const Handle< IGESData_IGESEntity > &ent) const |
Returns the effective Location of the Parent of <ent>, if there is one : this Location is itself given as compound according dependences on the Parent, if there are some. Returns an Identity Transformation if no Parent is recorded. | |
gp_GTrsf | EffectiveLocation (const Handle< IGESData_IGESEntity > &ent) const |
Returns the effective Location of an Entity, i.e. the composition of its proper Transformation Matrix (returned by Transf) and its Parent's Location (returned by ParentLocation) | |
Standard_Boolean | AnalyseLocation (const gp_GTrsf &loc, gp_Trsf &result) const |
Analysis a Location given as a GTrsf, by trying to convert it to a Trsf (i.e. to a True Location of which effect is described by an Isometry or a Similarity) Works with the Precision given by default or by SetPrecision Calls ConvertLocation (see below) | |
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. | |
Static Public Member Functions | |
static Standard_Boolean | ConvertLocation (const Standard_Real prec, const gp_GTrsf &loc, gp_Trsf &result, const Standard_Real uni=1) |
Conversion of a Location, from GTrsf form to Trsf form Works with a precision given as argument. Returns True if the Conversion is possible, (hence, <result> contains the converted location), False else <unit>, if given, indicates the unit in which <loc> is defined in meters. It concerns the translation part (to be converted. | |
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. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
This Tool determines and gives access to effective Locations of IGES Entities as defined by the IGES Norm. These Locations can be for each Entity :
Implicit definition can be itself defined, either through the definition of an Entity (i.e. a Composite Curve references a list of Curves), or by a specific Associativity, of type SingleParentEntity, by which the Location of the Parent is applied to the Childs defined by this Associativity. Remark that a Transf itself has no Location, but it can be compound
This is a TShared object, then it is easier to use in an interactive session
IGESData_ToolLocation::IGESData_ToolLocation | ( | const Handle< IGESData_IGESModel > & | amodel, |
const Handle< IGESData_Protocol > & | protocol | ||
) |
Creates a ToolLocation on a given Model, filled with the help of a Protocol (which allows to known Entities referenced by other ones)
Standard_Boolean IGESData_ToolLocation::AnalyseLocation | ( | const gp_GTrsf & | loc, |
gp_Trsf & | result | ||
) | const |
Analysis a Location given as a GTrsf, by trying to convert it to a Trsf (i.e. to a True Location of which effect is described by an Isometry or a Similarity) Works with the Precision given by default or by SetPrecision Calls ConvertLocation (see below)
|
static |
Conversion of a Location, from GTrsf form to Trsf form Works with a precision given as argument. Returns True if the Conversion is possible, (hence, <result> contains the converted location), False else <unit>, if given, indicates the unit in which <loc> is defined in meters. It concerns the translation part (to be converted.
As a class method, it can be called separately
gp_GTrsf IGESData_ToolLocation::EffectiveLocation | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns the effective Location of an Entity, i.e. the composition of its proper Transformation Matrix (returned by Transf) and its Parent's Location (returned by ParentLocation)
gp_GTrsf IGESData_ToolLocation::ExplicitLocation | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns the Explicit Location defined by the Transformation Matrix of <ent>. Identity if there is none.
Standard_Boolean IGESData_ToolLocation::HasParent | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns True if <ent> is dependent from one and only one other Entity, either by Reference or by Associativity.
Standard_Boolean IGESData_ToolLocation::HasParentByAssociativity | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns True if the Parent, if there is one, is defined by a SingleParentEntity Associativity Else, if HasParent is True, it is by Reference.
Standard_Boolean IGESData_ToolLocation::HasTransf | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns True if <ent> has a Transformation Matrix in proper (referenced from its Directory Part)
Standard_Boolean IGESData_ToolLocation::IsAmbiguous | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns True if more than one Parent has been determined for <ent>, by adding direct References and Associativities.
Standard_Boolean IGESData_ToolLocation::IsAssociativity | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns True if <ent> is an Associativity (IGES Type 402). Then, Location does not apply.
Standard_Boolean IGESData_ToolLocation::IsTransf | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns True if <ent> is kind of TransfEntity. Then, it has no location, while it can be used to define a Location)
void IGESData_ToolLocation::Load | ( | ) |
Does the effective work of determining Locations of Entities.
Handle< IGESData_IGESEntity > IGESData_ToolLocation::Parent | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns the unique Parent recorded for <ent>. Returns a Null Handle if there is none.
gp_GTrsf IGESData_ToolLocation::ParentLocation | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Returns the effective Location of the Parent of <ent>, if there is one : this Location is itself given as compound according dependences on the Parent, if there are some. Returns an Identity Transformation if no Parent is recorded.
void IGESData_ToolLocation::ResetDependences | ( | const Handle< IGESData_IGESEntity > & | child | ) |
Resets all information about dependences for <child>
void IGESData_ToolLocation::SetOwnAsDependent | ( | const Handle< IGESData_IGESEntity > & | ent | ) |
Unitary action which defines Entities referenced by <ent> (except those in Directory Part and Associativities List) as Dependent (their Locations are related to that of <ent>)
void IGESData_ToolLocation::SetParentAssoc | ( | const Handle< IGESData_IGESEntity > & | parent, |
const Handle< IGESData_IGESEntity > & | child | ||
) |
Sets the "Associativity" information for <child> as being <parent> (it must be the Parent itself, not the Associativity)
void IGESData_ToolLocation::SetPrecision | ( | const Standard_Real | prec | ) |
Sets a precision for the Analysis of Locations (default by constructor is 1.E-05)
void IGESData_ToolLocation::SetReference | ( | const Handle< IGESData_IGESEntity > & | parent, |
const Handle< IGESData_IGESEntity > & | child | ||
) |
Sets the "Reference" information for <child> as being <parent> Sets an Error Status if already set (see method IsAmbiguous)