Open CASCADE Technology  7.9.3
Static Public Member Functions
XCAFDoc_Editor Class Reference

Tool for edit structure of document. More...

#include <XCAFDoc_Editor.hxx>

Static Public Member Functions

static Standard_Boolean Expand (const TDF_Label &theDoc, const TDF_Label &theShape, const Standard_Boolean theRecursively=Standard_True)
 Converts shape (compound/compsolid/shell/wire) to assembly. More...
 
static Standard_Boolean Expand (const TDF_Label &theDoc, const Standard_Boolean theRecursively=Standard_True)
 Converts all compounds shapes in the document to assembly. More...
 
static Standard_Boolean Extract (const TDF_LabelSequence &theSrcLabels, const TDF_Label &theDstLabel, const Standard_Boolean theIsNoVisMat=Standard_False)
 Clones all labels to a new position, keeping the structure with all the attributes. More...
 
static Standard_Boolean Extract (const TDF_Label &theSrcLabel, const TDF_Label &theDstLabel, const Standard_Boolean theIsNoVisMat=Standard_False)
 Clones the label to a new position, keeping the structure with all the attributes. More...
 
static TDF_Label CloneShapeLabel (const TDF_Label &theSrcLabel, const Handle< XCAFDoc_ShapeTool > &theSrcShapeTool, const Handle< XCAFDoc_ShapeTool > &theDstShapeTool, TDF_LabelDataMap &theMap)
 Copies shapes label with keeping of shape structure (recursively) More...
 
static void CloneMetaData (const TDF_Label &theSrcLabel, const TDF_Label &theDstLabel, NCollection_DataMap< Handle< XCAFDoc_VisMaterial >, Handle< XCAFDoc_VisMaterial >> *theVisMatMap, const Standard_Boolean theToCopyColor=Standard_True, const Standard_Boolean theToCopyLayer=Standard_True, const Standard_Boolean theToCopyMaterial=Standard_True, const Standard_Boolean theToCopyVisMaterial=Standard_True, const Standard_Boolean theToCopyAttributes=Standard_True)
 Copies metadata contains from the source label to the destination label. Protected against creating a new label for non-existent tools. More...
 
static void GetParentShapeLabels (const TDF_Label &theLabel, TDF_LabelMap &theRelatedLabels)
 Gets shape labels that has down relation with the input label. More...
 
static void GetChildShapeLabels (const TDF_Label &theLabel, TDF_LabelMap &theRelatedLabels)
 Gets shape labels that has up relation with the input label. More...
 
static bool FilterShapeTree (const Handle< XCAFDoc_ShapeTool > &theShapeTool, const TDF_LabelMap &theLabelsToKeep)
 Filters original shape tree with keeping structure. The result will include the full label hierarchy lower then input labels. Any higher hierarchy labels will be filtered to keep only necessary labels. All not related shape labels with input will be cleared (all attributes will be removed). More...
 
static Standard_Boolean RescaleGeometry (const TDF_Label &theLabel, const Standard_Real theScaleFactor, const Standard_Boolean theForceIfNotRoot=Standard_False)
 Applies geometrical scaling to the following assembly components: More...
 

Detailed Description

Tool for edit structure of document.

Member Function Documentation

static void XCAFDoc_Editor::CloneMetaData ( const TDF_Label theSrcLabel,
const TDF_Label theDstLabel,
NCollection_DataMap< Handle< XCAFDoc_VisMaterial >, Handle< XCAFDoc_VisMaterial >> *  theVisMatMap,
const Standard_Boolean  theToCopyColor = Standard_True,
const Standard_Boolean  theToCopyLayer = Standard_True,
const Standard_Boolean  theToCopyMaterial = Standard_True,
const Standard_Boolean  theToCopyVisMaterial = Standard_True,
const Standard_Boolean  theToCopyAttributes = Standard_True 
)
static

Copies metadata contains from the source label to the destination label. Protected against creating a new label for non-existent tools.

Parameters
[in]theSrcLabeloriginal label to copy from
[in]theDstLabeldestination shape label to set attributes
[in]theVisMatMaprelating map of the original VisMaterial and created. Can be NULL for the same document
[in]theToCopyColorcopying visible value and shape color (handled all color type)
[in]theToCopyLayercopying layer
[in]theToCopyMaterialcopying material
[in]theToCopyVisMaterialcopying visual material
[in]theToCopyAttributescopying of other node attributes, for example, a shape's property
static TDF_Label XCAFDoc_Editor::CloneShapeLabel ( const TDF_Label theSrcLabel,
const Handle< XCAFDoc_ShapeTool > &  theSrcShapeTool,
const Handle< XCAFDoc_ShapeTool > &  theDstShapeTool,
TDF_LabelDataMap theMap 
)
static

Copies shapes label with keeping of shape structure (recursively)

Parameters
[in]theSrcLabeloriginal label to copy from
[in]theSrcShapeToolshape tool to get
[in]theDstShapeToolshape tool to set
[out]theMaprelating map of the original shapes label and labels created from them
Returns
result shape label
static Standard_Boolean XCAFDoc_Editor::Expand ( const TDF_Label theDoc,
const TDF_Label theShape,
const Standard_Boolean  theRecursively = Standard_True 
)
static

Converts shape (compound/compsolid/shell/wire) to assembly.

Parameters
[in]theDocinput document
[in]theShapeinput shape label
[in]theRecursivelyrecursively expand a compound subshape
Returns
True if shape successfully expanded
static Standard_Boolean XCAFDoc_Editor::Expand ( const TDF_Label theDoc,
const Standard_Boolean  theRecursively = Standard_True 
)
static

Converts all compounds shapes in the document to assembly.

Parameters
[in]theDocinput document
[in]theRecursivelyrecursively expand a compound subshape
Returns
True if shape successfully expanded
static Standard_Boolean XCAFDoc_Editor::Extract ( const TDF_LabelSequence theSrcLabels,
const TDF_Label theDstLabel,
const Standard_Boolean  theIsNoVisMat = Standard_False 
)
static

Clones all labels to a new position, keeping the structure with all the attributes.

Parameters
[in]theSrcLabelsoriginal labels to copy from
[in]theDstLabellabel to set result as a component of or a main document's label to simply set new shape
[in]theIsNoVisMatget a VisMaterial attributes as is or convert to color
Returns
True if shape successfully extracted
static Standard_Boolean XCAFDoc_Editor::Extract ( const TDF_Label theSrcLabel,
const TDF_Label theDstLabel,
const Standard_Boolean  theIsNoVisMat = Standard_False 
)
static

Clones the label to a new position, keeping the structure with all the attributes.

Parameters
[in]theSrcLabeloriginal label to copy from
[in]theDstLabellabel to set result as a component of or a main document's label to simply set new shape
[in]theIsNoVisMatget a VisMaterial attributes as is or convert to color
Returns
True if shape successfully extracted
static bool XCAFDoc_Editor::FilterShapeTree ( const Handle< XCAFDoc_ShapeTool > &  theShapeTool,
const TDF_LabelMap theLabelsToKeep 
)
static

Filters original shape tree with keeping structure. The result will include the full label hierarchy lower then input labels. Any higher hierarchy labels will be filtered to keep only necessary labels. All not related shape labels with input will be cleared (all attributes will be removed).

The result impact directly into original document and existed shape labels. Attributes related to removed shape can became invalide. For example, GDT with relation on removed shape label(s) and without attachment point(s) became invalid for visualization.

Parameters
[in]theShapeToolshape tool to extract from
[in]theLabelsToKeeplabels to keep
Returns
true if the tree was filtered successfully.
static void XCAFDoc_Editor::GetChildShapeLabels ( const TDF_Label theLabel,
TDF_LabelMap theRelatedLabels 
)
static

Gets shape labels that has up relation with the input label.

Parameters
[in]theLabelinput label
[out]theRelatedLabelsoutput labels
static void XCAFDoc_Editor::GetParentShapeLabels ( const TDF_Label theLabel,
TDF_LabelMap theRelatedLabels 
)
static

Gets shape labels that has down relation with the input label.

Parameters
[in]theLabelinput label
[out]theRelatedLabelsoutput labels
static Standard_Boolean XCAFDoc_Editor::RescaleGeometry ( const TDF_Label theLabel,
const Standard_Real  theScaleFactor,
const Standard_Boolean  theForceIfNotRoot = Standard_False 
)
static

Applies geometrical scaling to the following assembly components:

  • part geometry
  • sub-assembly/part occurrence location
  • part's centroid, area and volume attributes
  • PMIs (warnings and errors are reported if it is impossible to make changes) Normally, should start from a root sub-assembly, but if theForceIfNotRoot true scaling will be applied forcibly. If theLabel corresponds to the shape tool scaling is applied to the whole assembly.
    Parameters
    [in]theLabelstarting label
    [in]theScaleFactorscale factor, should be positive
    [in]theForceIfNotRootallows scaling of a non root assembly if true, otherwise - returns false
    Returns
    true in case of success, otherwise - false.

The documentation for this class was generated from the following file: