#include <XCAFDoc_ShapeTool.hxx>
Public Member Functions | |
Standard_EXPORT | XCAFDoc_ShapeTool () |
Creates an empty tool //! Creates a tool to work with a document <doc> Attaches to label XCAFDoc::LabelShapes() . | |
Standard_EXPORT Standard_Boolean | IsTopLevel (const TDF_Label &L) const |
Returns True if the label is a label of top-level shape, as opposed to component of assembly or subshape . | |
Standard_EXPORT Standard_Boolean | IsSubShape (const TDF_Label &shapeL, const TopoDS_Shape &sub) const |
Checks whether shape is subshape of shape stored on label shapeL . | |
Standard_EXPORT Standard_Boolean | SearchUsingMap (const TopoDS_Shape &S, TDF_Label &L, const Standard_Boolean findWithoutLoc, const Standard_Boolean findSubshape) const |
Standard_EXPORT Standard_Boolean | Search (const TopoDS_Shape &S, TDF_Label &L, const Standard_Boolean findInstance=Standard_True, const Standard_Boolean findComponent=Standard_True, const Standard_Boolean findSubshape=Standard_True) const |
General tool to find a (sub) shape in the document * If findInstance is True, and S has a non-null location, first tries to find the shape among the top-level shapes with this location * If not found, and findComponent is True, tries to find the shape among the components of assemblies * If not found, tries to find the shape without location among top-level shapes * If not found and findSubshape is True, tries to find a shape as a subshape of top-level simple shapes Returns False if nothing is found . | |
Standard_EXPORT Standard_Boolean | FindShape (const TopoDS_Shape &S, TDF_Label &L, const Standard_Boolean findInstance=Standard_False) const |
Returns the label corresponding to shape S (searches among top-level shapes, not including subcomponents of assemblies) If findInstance is False (default), searches for the non-located shape (i.e. among original shapes) If findInstance is True, searches for the shape with the same location, including shape instances Return True if <s> is found. . | |
Standard_EXPORT TDF_Label | FindShape (const TopoDS_Shape &S, const Standard_Boolean findInstance=Standard_False) const |
Does the same as previous method Returns Null label if not found . | |
Standard_EXPORT TDF_Label | NewShape () const |
Creates new (empty) top-level shape. Initially it holds empty TopoDS_Compound . | |
Standard_EXPORT void | SetShape (const TDF_Label &L, const TopoDS_Shape &S) |
Sets representation (TopoDS_Shape) for top-level shape . | |
Standard_EXPORT TDF_Label | AddShape (const TopoDS_Shape &S, const Standard_Boolean makeAssembly=Standard_True, const Standard_Boolean makePrepare=Standard_True) |
Adds a new top-level (creates and returns a new label) If makeAssembly is True, treats TopAbs_COMPOUND shapes as assemblies (creates assembly structure). NOTE: <makeprepare> replace components without location in assmebly by located components to avoid some problems. . | |
Standard_EXPORT Standard_Boolean | RemoveShape (const TDF_Label &L) const |
Removes shape (whole label and all its sublabels) Returns False (and does nothing) if shape is not free or is not top-level shape . | |
Standard_EXPORT void | Init () |
set hasComponents into false | |
Standard_EXPORT void | ComputeShapes (const TDF_Label &L) |
recursive | |
Standard_EXPORT void | ComputeSimpleShapes () |
Compute a sequence of simple shapes . | |
Standard_EXPORT void | GetShapes (TDF_LabelSequence &Labels) const |
Returns a sequence of all top-level shapes . | |
Standard_EXPORT void | GetFreeShapes (TDF_LabelSequence &FreeLabels) const |
Returns a sequence of all top-level shapes which are free (i.e. not referred by any other) . | |
Standard_EXPORT TDF_Label | AddComponent (const TDF_Label &assembly, const TDF_Label &comp, const TopLoc_Location &Loc) const |
Adds a component given by its label and location to the assembly Note: assembly must be IsAssembly() or IsSimpleShape() . | |
Standard_EXPORT TDF_Label | AddComponent (const TDF_Label &assembly, const TopoDS_Shape &comp, const Standard_Boolean expand=Standard_False) |
Adds a shape (located) as a component to the assembly If necessary, creates an additional top-level shape for component and return the Label of component. If expand is True and component is Compound, it will be created as assembly also Note: assembly must be IsAssembly() or IsSimpleShape() . | |
Standard_EXPORT void | RemoveComponent (const TDF_Label &comp) const |
Removes a component from its assembly . | |
Standard_EXPORT void | UpdateAssembly (const TDF_Label &L) const |
Update an assembly at label <l> . | |
Standard_EXPORT Standard_Boolean | FindSubShape (const TDF_Label &shapeL, const TopoDS_Shape &sub, TDF_Label &L) const |
Finds a label for subshape of shape stored on label shapeL Returns Null label if it is not found . | |
Standard_EXPORT TDF_Label | AddSubShape (const TDF_Label &shapeL, const TopoDS_Shape &sub) const |
Adds a label for subshape of shape stored on label shapeL Returns Null label if it is not subshape . | |
Standard_EXPORT TDF_Label | FindMainShapeUsingMap (const TopoDS_Shape &sub) const |
Standard_EXPORT TDF_Label | FindMainShape (const TopoDS_Shape &sub) const |
Performs a search among top-level shapes to find the shape containing as subshape Checks only simple shapes, and returns the first found label (which should be the only one for valid model) . | |
Standard_EXPORT TDF_Label | BaseLabel () const |
returns the label under which shapes are stored | |
Standard_EXPORT void | Dump (const Standard_Boolean deep=Standard_False) const |
Standard_EXPORT const Standard_GUID & | ID () const |
Standard_EXPORT void | Restore (const Handle(TDF_Attribute)&with) |
Standard_EXPORT Handle_TDF_Attribute | NewEmpty () const |
Standard_EXPORT void | Paste (const Handle(TDF_Attribute)&into, const Handle(TDF_RelocationTable)&RT) const |
Standard_EXPORT TDF_Label | SetExternRefs (const TColStd_SequenceOfHAsciiString &SHAS) const |
Sets the names of references on the no-step files . | |
Standard_EXPORT void | SetExternRefs (const TDF_Label &L, const TColStd_SequenceOfHAsciiString &SHAS) const |
Sets the names of references on the no-step files . | |
Standard_EXPORT Standard_Boolean | SetSHUO (const TDF_LabelSequence &Labels, Handle(XCAFDoc_GraphNode)&MainSHUOAttr) const |
Sets the SHUO structure between upper_usage and next_usage create multy-level (if number of labels > 2) SHUO from first to last Initialise out <mainshuoattr> by main upper_usage SHUO attribute. Returns FALSE if some of labels in not component label . | |
Standard_EXPORT Standard_Boolean | RemoveSHUO (const TDF_Label &SHUOLabel) const |
Remove SHUO from component sublabel, remove all dependencies on other SHUO. Returns FALSE if cannot remove SHUO dependencies. NOTE: remove any styles that associated with this SHUO. . | |
Standard_EXPORT Standard_Boolean | FindComponent (const TopoDS_Shape &theShape, TDF_LabelSequence &Labels) const |
Serach the path of labels in the document, that corresponds the component from any assembly Try to search the sequence of labels with location that produce this shape as component of any assembly NOTE: Clear sequence of labels before filling . | |
Standard_EXPORT TopoDS_Shape | GetSHUOInstance (const Handle(XCAFDoc_GraphNode)&theSHUO) const |
Search for the component shape that styled by shuo Returns null shape if no any shape is found. . | |
Standard_EXPORT Handle_XCAFDoc_GraphNode | SetInstanceSHUO (const TopoDS_Shape &theShape) const |
Search for the component shape by labelks path and set SHUO structure for founded label structure Returns null attribute if no component in any assembly found. . | |
Standard_EXPORT Standard_Boolean | GetAllSHUOInstances (const Handle(XCAFDoc_GraphNode)&theSHUO, TopTools_SequenceOfShape &theSHUOShapeSeq) const |
Seaching for component shapes that styled by shuo Returns empty sequence of shape if no any shape is found. . | |
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const |
Static Public Member Functions | |
static Standard_EXPORT const Standard_GUID & | GetID () |
static Standard_EXPORT Handle_XCAFDoc_ShapeTool | Set (const TDF_Label &L) |
Create (if not exist) ShapeTool from XCAFDoc on <l>. . | |
static Standard_EXPORT Standard_Boolean | IsFree (const TDF_Label &L) |
Returns True if the label is not used by any assembly, i.e. contains sublabels which are assembly components This is relevant only if IsShape() is True (There is no Father TreeNode on this <l>) . | |
static Standard_EXPORT Standard_Boolean | IsShape (const TDF_Label &L) |
Returns True if the label represents a shape (simple shape, assembly or reference) . | |
static Standard_EXPORT Standard_Boolean | IsSimpleShape (const TDF_Label &L) |
Returns True if the label is a label of simple shape . | |
static Standard_EXPORT Standard_Boolean | IsReference (const TDF_Label &L) |
Return true if <l> is a located instance of other shape i.e. reference . | |
static Standard_EXPORT Standard_Boolean | IsAssembly (const TDF_Label &L) |
Returns True if the label is a label of assembly, i.e. contains sublabels which are assembly components This is relevant only if IsShape() is True . | |
static Standard_EXPORT Standard_Boolean | IsComponent (const TDF_Label &L) |
Return true if <l> is reference serving as component of assembly . | |
static Standard_EXPORT Standard_Boolean | IsCompound (const TDF_Label &L) |
Returns True if the label is a label of compound, i.e. contains some sublabels This is relevant only if IsShape() is True . | |
static Standard_EXPORT Standard_Boolean | IsSubShape (const TDF_Label &L) |
Return true if <l> is subshape of the top-level shape . | |
static Standard_EXPORT Standard_Boolean | GetShape (const TDF_Label &L, TopoDS_Shape &S) |
To get TopoDS_Shape from shape's label For component, returns new shape with correct location Returns False if label does not contain shape . | |
static Standard_EXPORT TopoDS_Shape | GetShape (const TDF_Label &L) |
To get TopoDS_Shape from shape's label For component, returns new shape with correct location Returns Null shape if label does not contain shape . | |
static Standard_EXPORT Standard_Integer | GetUsers (const TDF_Label &L, TDF_LabelSequence &Labels, const Standard_Boolean getsubchilds=Standard_False) |
Returns list of labels which refer shape L as component Returns number of users (0 if shape is free) . | |
static Standard_EXPORT TopLoc_Location | GetLocation (const TDF_Label &L) |
Returns location of instance . | |
static Standard_EXPORT Standard_Boolean | GetReferredShape (const TDF_Label &L, TDF_Label &Label) |
Returns label which corresponds to a shape referred by L Returns False if label is not reference . | |
static Standard_EXPORT Standard_Integer | NbComponents (const TDF_Label &L, const Standard_Boolean getsubchilds=Standard_False) |
Returns number of Assembles components . | |
static Standard_EXPORT Standard_Boolean | GetComponents (const TDF_Label &L, TDF_LabelSequence &Labels, const Standard_Boolean getsubchilds=Standard_False) |
Returns list of components of assembly Returns False if label is not assembly . | |
static Standard_EXPORT Standard_Boolean | GetSubShapes (const TDF_Label &L, TDF_LabelSequence &Labels) |
Returns list of labels identifying subshapes of the given shape Returns False if no subshapes are placed on that label . | |
static Standard_EXPORT void | DumpShape (const TDF_Label &L, const Standard_Integer level=0, const Standard_Boolean deep=Standard_False) |
Print in cout type of shape found on <l> label and the entry of <l>, with <level> tabs before. If <deep>, print also TShape and Location addresses . | |
static Standard_EXPORT Standard_Boolean | IsExternRef (const TDF_Label &L) |
Returns True if the label is a label of external references, i.e. there are some reference on the no-step files, which are described in document only their names . | |
static Standard_EXPORT void | GetExternRefs (const TDF_Label &L, TColStd_SequenceOfHAsciiString &SHAS) |
Gets the names of references on the no-step files . | |
static Standard_EXPORT Standard_Boolean | GetSHUO (const TDF_Label &SHUOLabel, Handle(XCAFDoc_GraphNode)&aSHUOAttr) |
Returns founded SHUO GraphNode attribute <ashuoattr> Returns false in other case . | |
static Standard_EXPORT Standard_Boolean | GetAllComponentSHUO (const TDF_Label &CompLabel, TDF_AttributeSequence &SHUOAttrs) |
Returns founded SHUO GraphNodes of indicated component Returns false in other case . | |
static Standard_EXPORT Standard_Boolean | GetSHUOUpperUsage (const TDF_Label &NextUsageL, TDF_LabelSequence &Labels) |
Returns the sequence of labels of SHUO attributes, which is upper_usage for this next_usage SHUO attribute (that indicated by label) NOTE: returns upper_usages only on one level (not recurse) NOTE: do not clear the sequence before filling . | |
static Standard_EXPORT Standard_Boolean | GetSHUONextUsage (const TDF_Label &UpperUsageL, TDF_LabelSequence &Labels) |
Returns the sequence of labels of SHUO attributes, which is next_usage for this upper_usage SHUO attribute (that indicated by label) NOTE: returns next_usages only on one level (not recurse) NOTE: do not clear the sequence before filling . | |
static Standard_EXPORT Standard_Boolean | FindSHUO (const TDF_LabelSequence &Labels, Handle(XCAFDoc_GraphNode)&theSHUOAttr) |
Searchs the SHUO by labels of components from upper_usage componet to next_usage Returns null attribute if no SHUO found . | |
Private Member Functions | |
Standard_EXPORT TDF_Label | addShape (const TopoDS_Shape &S, const Standard_Boolean makeAssembly=Standard_True) |
Adds a new top-level (creates and returns a new label) For internal use. Used by public method AddShape. . | |
Static Private Member Functions | |
static Standard_EXPORT void | MakeReference (const TDF_Label &L, const TDF_Label &refL, const TopLoc_Location &loc) |
Makes a shape on label L to be a reference to shape refL with location loc . | |
Private Attributes | |
XCAFDoc_DataMapOfShapeLabel | myShapeLabels |
XCAFDoc_DataMapOfShapeLabel | mySubShapes |
XCAFDoc_DataMapOfShapeLabel | mySimpleShapes |
Standard_Boolean | hasSimpleShapes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|