############
AssemblyTree
############

.. cpp:namespace:: SC::Store::AssemblyTree

.. default-domain:: cpp

Types
=====

======== ==========================================================
..       :doc:`classSC_1_1Store_1_1AssemblyTree_1_1Walker`         
uint8_t  :cpp:enumerator:`~SC::Store::AssemblyTree::AttributeType` 
======== ==========================================================

Fields
======

=============== =============================================================
..              :cpp:enum:`~SC::Store::AssemblyTree::AttributeTypeUndefined` 
..              :cpp:enum:`~SC::Store::AssemblyTree::AttributeTypeInt`       
..              :cpp:enum:`~SC::Store::AssemblyTree::AttributeTypeFloat`     
..              :cpp:enum:`~SC::Store::AssemblyTree::AttributeTypeTime`      
..              :cpp:enum:`~SC::Store::AssemblyTree::AttributeTypeString`    
..              :cpp:enum:`~SC::Store::AssemblyTree::AttributeTypeIgnored`   
const uint32_t  :cpp:var:`~SC::Store::AssemblyTree::MAJOR_VERSION`           
const uint32_t  :cpp:var:`~SC::Store::AssemblyTree::MINOR_VERSION`           
const uint32_t  :cpp:var:`~SC::Store::AssemblyTree::PATCH_VERSION`           
=============== =============================================================

Functions
=========

=============================== ==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
..                              :cpp:func:`AssemblyTree <SC::Store::AssemblyTree::AssemblyTree>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
..                              :cpp:func:`AssemblyTree <SC::Store::AssemblyTree::AssemblyTree>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
..                              :cpp:func:`~AssemblyTree <SC::Store::AssemblyTree::~AssemblyTree>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
void                            :cpp:func:`operator= <void SC::Store::AssemblyTree::operator=(AssemblyTree &&other)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
void                            :cpp:func:`SetOriginalFileName <void SC::Store::AssemblyTree::SetOriginalFileName(const char *name)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
void                            :cpp:func:`SetOriginalFileType <void SC::Store::AssemblyTree::SetOriginalFileType(FileType type)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
bool                            :cpp:func:`CreateAssemblyTreeRoot <bool SC::Store::AssemblyTree::CreateAssemblyTreeRoot(NodeId &outIDRoot)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
bool                            :cpp:func:`CreateChild <bool SC::Store::AssemblyTree::CreateChild(NodeId parentNodeID, NodeId &outIDChild, bool isAConfigurationNode=false, bool isADefaultNode=false)>`                                                                                                                                                                                                                                                                                                                                                                                                                      
bool                            :cpp:func:`SetNodeName <bool SC::Store::AssemblyTree::SetNodeName(NodeId nodeID, const char *name)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`SetNodeLocalTransform <bool SC::Store::AssemblyTree::SetNodeLocalTransform(NodeId nodeID, Matrix3d const &localTransform)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`SetNodeLocalTransform <bool SC::Store::AssemblyTree::SetNodeLocalTransform(NodeId nodeID, DMatrix3d const &localTransform)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                       
bool                            :cpp:func:`SetNodeMaterial <bool SC::Store::AssemblyTree::SetNodeMaterial(NodeId nodeID, SC::Store::Material const &material)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                               
bool                            :cpp:func:`SetNodeMaterial <bool SC::Store::AssemblyTree::SetNodeMaterial(NodeId nodeID, uint32_t styleIndex, uint16_t behavior)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                            
bool                            :cpp:func:`SetNodeVisibility <bool SC::Store::AssemblyTree::SetNodeVisibility(NodeId nodeID, bool visible)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
bool                            :cpp:func:`SetNodeWasRemoved <bool SC::Store::AssemblyTree::SetNodeWasRemoved(NodeId nodeID, bool removed)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
bool                            :cpp:func:`SetNodeUnit <bool SC::Store::AssemblyTree::SetNodeUnit(NodeId nodeID, double unit)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
bool                            :cpp:func:`SetNodeFilePath <bool SC::Store::AssemblyTree::SetNodeFilePath(NodeId nodeID, const char *filePath)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
bool                            :cpp:func:`AddAttribute <bool SC::Store::AssemblyTree::AddAttribute(NodeId nodeID, const char *attributeName, AttributeType attributeType, const char *attributeValue)>`                                                                                                                                                                                                                                                                                                                                                                                                                      
bool                            :cpp:func:`AddAttribute <bool SC::Store::AssemblyTree::AddAttribute(NodeId nodeID, const char *attributeSetName, const char *attributeName, AttributeType attributeType, const char *attributeValue, std::vector< SC::Store::UnitData > attributeUnit)>`                                                                                                                                                                                                                                                                                                                                      
bool                            :cpp:func:`SetGenericId <bool SC::Store::AssemblyTree::SetGenericId(NodeId nodeID, const char *id)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`SetGenericType <bool SC::Store::AssemblyTree::SetGenericType(NodeId nodeID, const char *type)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
bool                            :cpp:func:`AddUserData <bool SC::Store::AssemblyTree::AddUserData(NodeId nodeID, UserDataIndex index, const uint8_t *dataBegin, const uint8_t *dataEnd)>`                                                                                                                                                                                                                                                                                                                                                                                                                                     
bool                            :cpp:func:`AddFaceAttribute <bool SC::Store::AssemblyTree::AddFaceAttribute(NodeId bodyNodeID, uint32_t faceIndex, const char *attributeName, AssemblyTree::AttributeType attributeType, const char *attributeValue)>`                                                                                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`AddFaceAttribute <bool SC::Store::AssemblyTree::AddFaceAttribute(NodeId bodyNodeID, uint32_t faceIndex, const char *attributeSetName, const char *attributeName, AssemblyTree::AttributeType attributeType, const char *attributeValue)>`                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`AddEdgeAttribute <bool SC::Store::AssemblyTree::AddEdgeAttribute(NodeId bodyNodeID, uint32_t edgeIndex, const char *attributeName, AssemblyTree::AttributeType attributeType, const char *attributeValue)>`                                                                                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`AddEdgeAttribute <bool SC::Store::AssemblyTree::AddEdgeAttribute(NodeId bodyNodeID, uint32_t edgeIndex, const char *attributeSetName, const char *attributeName, AssemblyTree::AttributeType attributeType, const char *attributeValue)>`                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`AddPointAttribute <bool SC::Store::AssemblyTree::AddPointAttribute(NodeId bodyNodeID, uint32_t pointIndex, const char *attributeName, AssemblyTree::AttributeType attributeType, const char *attributeValue)>`                                                                                                                                                                                                                                                                                                                                                                     
bool                            :cpp:func:`AddPointAttribute <bool SC::Store::AssemblyTree::AddPointAttribute(NodeId bodyNodeID, uint32_t pointIndex, const char *attributeSetName, const char *attributeName, AssemblyTree::AttributeType attributeType, const char *attributeValue)>`                                                                                                                                                                                                                                                                                                                                       
bool                            :cpp:func:`SetPhysicalProperties <bool SC::Store::AssemblyTree::SetPhysicalProperties(NodeId nodeID, SC::Store::DVector gravityCenter, double surfaceArea, double volume)>`                                                                                                                                                                                                                                                                                                                                                                                                                   
bool                            :cpp:func:`SetBoundingBox <bool SC::Store::AssemblyTree::SetBoundingBox(NodeId nodeID, SC::Store::BBox bbox)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
bool                            :cpp:func:`SetNodeExchangeId <bool SC::Store::AssemblyTree::SetNodeExchangeId(NodeId nodeID, const char *exchangeId)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`AddFilterToNode <bool SC::Store::AssemblyTree::AddFilterToNode(NodeId nodeID, const FilterData &filterData)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
bool                            :cpp:func:`SetNodeLayerId <bool SC::Store::AssemblyTree::SetNodeLayerId(NodeId nodeID, LayerId layerId)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
bool                            :cpp:func:`AddLayerToNode <bool SC::Store::AssemblyTree::AddLayerToNode(NodeId nodeID, LayerId layerId, const char *layerName)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                              
bool                            :cpp:func:`AddRelationshipToNode <bool SC::Store::AssemblyTree::AddRelationshipToNode(NodeId nodeID, const RelationshipData &relationshipData)>`                                                                                                                                                                                                                                                                                                                                                                                                                                              
bool                            :cpp:func:`CreateAndAddBodyInstance <bool SC::Store::AssemblyTree::CreateAndAddBodyInstance(NodeId nodeID, NodeId &outBodyInstanceNodeID)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                   
bool                            :cpp:func:`SetBodyInstanceMeshInstanceKey <bool SC::Store::AssemblyTree::SetBodyInstanceMeshInstanceKey(NodeId nodeID, InstanceInc const &meshInstanceKey)>`                                                                                                                                                                                                                                                                                                                                                                                                                                  
bool                            :cpp:func:`SetBodyInstanceRef <bool SC::Store::AssemblyTree::SetBodyInstanceRef(NodeId nodeID, NodeId const &bodyRef)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
:cpp:type:`~SC::Store::NodeId`  :cpp:func:`CreatePart <NodeId SC::Store::AssemblyTree::CreatePart()>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
bool                            :cpp:func:`SetPart <bool SC::Store::AssemblyTree::SetPart(NodeId assemblyNodeID, NodeId partNodeID)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
bool                            :cpp:func:`SetExternalModel <bool SC::Store::AssemblyTree::SetExternalModel(NodeId assemblyNodeID, const char *name)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`CreateAndAddBody <bool SC::Store::AssemblyTree::CreateAndAddBody(NodeId partNodeID, NodeId &outBodyNodeID, BodyType bodyType=BodyTypeNotSet)>`                                                                                                                                                                                                                                                                                                                                                                                                                                     
bool                            :cpp:func:`SetLineEdgeMeasurementData <bool SC::Store::AssemblyTree::SetLineEdgeMeasurementData(NodeId bodyNodeID, uint32_t edgeIndex, float length)>`                                                                                                                                                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`SetCircleEdgeMeasurementData <bool SC::Store::AssemblyTree::SetCircleEdgeMeasurementData(NodeId bodyNodeID, uint32_t edgeIndex, float radius, Point const &origin, Vector const &normal)>`                                                                                                                                                                                                                                                                                                                                                                                         
bool                            :cpp:func:`SetOtherEdgeMeasurementData <bool SC::Store::AssemblyTree::SetOtherEdgeMeasurementData(NodeId bodyNodeID, uint32_t edgeIndex, float length)>`                                                                                                                                                                                                                                                                                                                                                                                                                                      
bool                            :cpp:func:`SetCylinderFaceMeasurementData <bool SC::Store::AssemblyTree::SetCylinderFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex, float radius, Point const &origin, Vector const &normal)>`                                                                                                                                                                                                                                                                                                                                                                                     
bool                            :cpp:func:`SetPlaneFaceMeasurementData <bool SC::Store::AssemblyTree::SetPlaneFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex, Point const &origin, Vector const &normal)>`                                                                                                                                                                                                                                                                                                                                                                                                         
bool                            :cpp:func:`SetConeFaceMeasurementData <bool SC::Store::AssemblyTree::SetConeFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex, float radius, Point const &origin, Vector const &normal, float halfAngle)>`                                                                                                                                                                                                                                                                                                                                                                            
bool                            :cpp:func:`SetSphereFaceMeasurementData <bool SC::Store::AssemblyTree::SetSphereFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex, float radius, Point const &origin, Vector const &normal)>`                                                                                                                                                                                                                                                                                                                                                                                         
bool                            :cpp:func:`SetTorusFaceMeasurementData <bool SC::Store::AssemblyTree::SetTorusFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex, float majorRadius, float minorRadius, Point const &origin, Vector const &normal)>`                                                                                                                                                                                                                                                                                                                                                                   
bool                            :cpp:func:`SetBlend01FaceMeasurementData <bool SC::Store::AssemblyTree::SetBlend01FaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                
bool                            :cpp:func:`SetBlend02FaceMeasurementData <bool SC::Store::AssemblyTree::SetBlend02FaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                
bool                            :cpp:func:`SetBlend03FaceMeasurementData <bool SC::Store::AssemblyTree::SetBlend03FaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                
bool                            :cpp:func:`SetNurbsFaceMeasurementData <bool SC::Store::AssemblyTree::SetNurbsFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                    
bool                            :cpp:func:`SetCylindricalFaceMeasurementData <bool SC::Store::AssemblyTree::SetCylindricalFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`SetOffsetFaceMeasurementData <bool SC::Store::AssemblyTree::SetOffsetFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                  
bool                            :cpp:func:`SetPipeFaceMeasurementData <bool SC::Store::AssemblyTree::SetPipeFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                      
bool                            :cpp:func:`SetRuledFaceMeasurementData <bool SC::Store::AssemblyTree::SetRuledFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                    
bool                            :cpp:func:`SetRevolutionFaceMeasurementData <bool SC::Store::AssemblyTree::SetRevolutionFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`SetExtrusionFaceMeasurementData <bool SC::Store::AssemblyTree::SetExtrusionFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                            
bool                            :cpp:func:`SetFromCurvesFaceMeasurementData <bool SC::Store::AssemblyTree::SetFromCurvesFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`SetTransformFaceMeasurementData <bool SC::Store::AssemblyTree::SetTransformFaceMeasurementData(NodeId bodyNodeID, uint32_t faceIndex)>`                                                                                                                                                                                                                                                                                                                                                                                                                                            
bool                            :cpp:func:`AddCADView <bool SC::Store::AssemblyTree::AddCADView(NodeId assemblyNodeID, const char *viewName, SC::Store::Camera const *camera, SC::Store::InstanceIncs const &pmiToShow, std::vector< NodeId > const &nodesToShow, std::vector< NodeId > const &nodesToHide, std::map< NodeId, SC::Store::Matrix3d > const &nodesIDToLocalTransform, std::vector< SC::Store::Plane > const &cuttingPlanes, SC::Store::InstanceInc const *frameMeshInstanceInc, bool frameInitiallyVisible, bool isAnnotationView, NodeId &outCADViewID, std::vector< uint32_t > const &filtersToShowOrHide)>`  
bool                            :cpp:func:`AddCADView <bool SC::Store::AssemblyTree::AddCADView(NodeId assemblyNodeID, const char *viewName, SC::Store::Camera const *camera, SC::Store::InstanceIncs const &pmiToShow, std::vector< NodeId > const &nodesToShow, std::vector< NodeId > const &nodesToHide, std::map< NodeId, SC::Store::DMatrix3d > const &nodesIDToLocalTransform, std::vector< SC::Store::Plane > const &cuttingPlanes, SC::Store::InstanceInc const *frameMeshInstanceInc, bool frameInitiallyVisible, bool isAnnotationView, NodeId &outCADViewID, std::vector< uint32_t > const &filtersToShowOrHide)>` 
bool                            :cpp:func:`SetCADViewFlags <bool SC::Store::AssemblyTree::SetCADViewFlags(NodeId CADViewNodeID, bool bIsCameraSet=true, bool bIsPMIFilteringSet=true, bool bIsGeomFilteringSet=true, bool bIsCrosssectionSet=true, bool bIsExplosionSet=true, bool bIsCombineState=false)>`                                                                                                                                                                                                                                                                                                                   
bool                            :cpp:func:`AddPMI <bool SC::Store::AssemblyTree::AddPMI(NodeId assemblyNodeID, const char *name, SC::Store::InstanceInc const &meshInstanceInc, bool initiallyVisible, PMIType pmiType, PMISubType pmiSubType, std::vector< RefOnTopoItem > const &refOnTopoItems, NodeId &outPMIID)>`                                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`AddPMI <bool SC::Store::AssemblyTree::AddPMI(NodeId assemblyNodeID, const char *name, std::vector< InstanceData > const &instanceDatas, bool initiallyVisible, PMIType pmiType, PMISubType pmiSubType, std::vector< RefOnTopoItem > const &refOnTopoItems, NodeId &outPMIID)>`                                                                                                                                                                                                                                                                                                     
bool                            :cpp:func:`AddPMI <bool SC::Store::AssemblyTree::AddPMI(NodeId assemblyNodeID, const char *name, std::vector< SC::Store::InstanceInc > const &meshInstanceIncs, bool initiallyVisible, PMIType pmiType, PMISubType pmiSubType, std::vector< RefOnTopoItem > const &refOnTopoItems, NodeId &outPMIID)>`                                                                                                                                                                                                                                                                                        
bool                            :cpp:func:`SetColorMaterialAndStyleTable <bool SC::Store::AssemblyTree::SetColorMaterialAndStyleTable(std::vector< double > const &colors, std::vector< MaterialData > const &materials, std::vector< StyleData > const &styles)>`                                                                                                                                                                                                                                                                                                                                                            
bool                            :cpp:func:`SetViewAxes <bool SC::Store::AssemblyTree::SetViewAxes(DVector const &front, DVector const &up)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
bool                            :cpp:func:`SetDefaultCamera <bool SC::Store::AssemblyTree::SetDefaultCamera(Camera const &camera)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
bool                            :cpp:func:`SetIsDefaultView <bool SC::Store::AssemblyTree::SetIsDefaultView(NodeId CADViewNodeID, bool bIsdefault)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`SerializeToModel <bool SC::Store::AssemblyTree::SerializeToModel(Model &model)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
bool                            :cpp:func:`SerializeToXML <bool SC::Store::AssemblyTree::SerializeToXML(const char *outputXMLFilePathUTF8, const char *shatteredSearchDir=nullptr)>`                                                                                                                                                                                                                                                                                                                                                                                                                                          
bool                            :cpp:func:`SerializeToMeasurementJSONZip <bool SC::Store::AssemblyTree::SerializeToMeasurementJSONZip(const char *outputJSONFilePathUTF8)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                   
bool                            :cpp:func:`DeserializeFromXML <bool SC::Store::AssemblyTree::DeserializeFromXML(const char *inputXMLFilePathUTF8)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
bool                            :cpp:func:`BuildMasterAssemblyModel <bool SC::Store::AssemblyTree::BuildMasterAssemblyModel(const char *modelsPathUTF8, const char *assemblyModelPathUTF8, const char *workingDirectoryUTF8, bool create_scz, bool compress_scz=true)>`                                                                                                                                                                                                                                                                                                                                                       
bool                            :cpp:func:`CreateAndAddDrawingSheet <bool SC::Store::AssemblyTree::CreateAndAddDrawingSheet(NodeId parentNodeID, NodeId &outIDDrawingSheet)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                 
bool                            :cpp:func:`CreateAndAddDrawingView <bool SC::Store::AssemblyTree::CreateAndAddDrawingView(NodeId drawingSheetNodeID, NodeId &outIDDrawingView)>`                                                                                                                                                                                                                                                                                                                                                                                                                                              
bool                            :cpp:func:`WalkMasterAssemblyModel <bool SC::Store::AssemblyTree::WalkMasterAssemblyModel(Walker const &walker)>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
=============================== ==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

.. cpp:namespace:: nullptr

Detailed Description
====================

.. doxygenclass:: SC::Store::AssemblyTree
   :project: libsc
   :members:
   :undoc-members:


.. toctree::
   :titlesonly:
   :maxdepth: 1
   :hidden:

   classSC_1_1Store_1_1AssemblyTree_1_1Walker

