Open CASCADE Technology
6.5.4
|
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 informations 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) | |
Static Public Member Functions | |
static Standard_Boolean | ConvertLocation (const Standard_Real prec, const gp_GTrsf &loc, gp_Trsf &result, const Standard_Real uni=1) |
Convertion 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 |
- on one part, explicitly defined by a Transf in Directory <br> Part (this Transf can be itself compound); if not defined, <br> no proper Transformation is defined <br> - on the other part, implicitly defined by a reference from <br> another Entity : its Parent <br> Both implicit and explicit locations are combinable. <br>
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 | ||
) |
Standard_Boolean IGESData_ToolLocation::AnalyseLocation | ( | const gp_GTrsf & | loc, |
gp_Trsf & | result | ||
) | const |
static Standard_Boolean IGESData_ToolLocation::ConvertLocation | ( | const Standard_Real | prec, |
const gp_GTrsf & | loc, | ||
gp_Trsf & | result, | ||
const Standard_Real | uni = 1 |
||
) | [static] |
gp_GTrsf IGESData_ToolLocation::EffectiveLocation | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
gp_GTrsf IGESData_ToolLocation::ExplicitLocation | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Standard_Boolean IGESData_ToolLocation::HasParent | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Standard_Boolean IGESData_ToolLocation::HasParentByAssociativity | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Standard_Boolean IGESData_ToolLocation::HasTransf | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Standard_Boolean IGESData_ToolLocation::IsAmbiguous | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Standard_Boolean IGESData_ToolLocation::IsAssociativity | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Standard_Boolean IGESData_ToolLocation::IsTransf | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
Handle_IGESData_IGESEntity IGESData_ToolLocation::Parent | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
gp_GTrsf IGESData_ToolLocation::ParentLocation | ( | const Handle< IGESData_IGESEntity > & | ent | ) | const |
void IGESData_ToolLocation::SetParentAssoc | ( | const Handle< IGESData_IGESEntity > & | parent, |
const Handle< IGESData_IGESEntity > & | child | ||
) |
void IGESData_ToolLocation::SetReference | ( | const Handle< IGESData_IGESEntity > & | parent, |
const Handle< IGESData_IGESEntity > & | child | ||
) |