
###############
IModelStructure
###############

.. js:class:: IModelStructure

   
   Index
   =====
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~IModelStructure._disableCadConfigurations`
   * :js:meth:`~IModelStructure.$mapBimRelationshipTypes`
   * :js:meth:`~IModelStructure.activateCadConfiguration`
   * :js:meth:`~IModelStructure.activateCadView`
   * :js:meth:`~IModelStructure.activateDefaultCadConfiguration`
   * :js:meth:`~IModelStructure.activateDefaultCadView`
   * :js:meth:`~IModelStructure.addProperty`
   * :js:meth:`~IModelStructure.allowNodeDeletion`
   * :js:meth:`~IModelStructure.applyFilters`
   * :js:meth:`~IModelStructure.cadConfigurationsEnabled`
   * :js:meth:`~IModelStructure.clear`
   * :js:meth:`~IModelStructure.createAndAddRepItem`
   * :js:meth:`~IModelStructure.createCadView`
   * :js:meth:`~IModelStructure.createMeshInstance`
   * :js:meth:`~IModelStructure.createNode`
   * :js:meth:`~IModelStructure.createPart`
   * :js:meth:`~IModelStructure.createPmiInstance`
   * :js:meth:`~IModelStructure.deleteNode`
   * :js:meth:`~IModelStructure.firstAssemblyDataHeader`
   * :js:meth:`~IModelStructure.gatherAnyBodiesFromNodeId`
   * :js:meth:`~IModelStructure.gatherInclusionKeysFromNodeIds`
   * :js:meth:`~IModelStructure.gatherInstanceIncsFromNodeIds`
   * :js:meth:`~IModelStructure.getAbsoluteRootNodeId`
   * :js:meth:`~IModelStructure.getActiveCadConfiguration`
   * :js:meth:`~IModelStructure.getAllRelationships`
   * :js:meth:`~IModelStructure.getAssociatedModelKey`
   * :js:meth:`~IModelStructure.getAttributes`
   * :js:meth:`~IModelStructure.getBimIdFromNode`
   * :js:meth:`~IModelStructure.getBimIdRelationshipTypes`
   * :js:meth:`~IModelStructure.getBounding`
   * :js:meth:`~IModelStructure.getBranchVisibility`
   * :js:meth:`~IModelStructure.getCadConfigurations`
   * :js:meth:`~IModelStructure.getCadViewConfiguration`
   * :js:meth:`~IModelStructure.getCadViewMap`
   * :js:meth:`~IModelStructure.getCadViewPmis`
   * :js:meth:`~IModelStructure.getChildIds`
   * :js:meth:`~IModelStructure.getDefaultCadConfiguration`
   * :js:meth:`~IModelStructure.getDefaultCadView`
   * :js:meth:`~IModelStructure.getEdgeAttributes`
   * :js:meth:`~IModelStructure.getEdgeCount`
   * :js:meth:`~IModelStructure.getEdgeProperty`
   * :js:meth:`~IModelStructure.getFaceAttributes`
   * :js:meth:`~IModelStructure.getFaceCount`
   * :js:meth:`~IModelStructure.getFaceProperty`
   * :js:meth:`~IModelStructure.getFilterName`
   * :js:meth:`~IModelStructure.getFilters`
   * :js:meth:`~IModelStructure.getFiltersFromView`
   * :js:meth:`~IModelStructure.getFiltersWithNode`
   * :js:meth:`~IModelStructure.getGenericTypeIdMap`
   * :js:meth:`~IModelStructure.getGenericTypes`
   * :js:meth:`~IModelStructure.getIdOffset`
   * :js:meth:`~IModelStructure.getInfoOfBimId`
   * :js:meth:`~IModelStructure.getInstanceIncs`
   * :js:meth:`~IModelStructure.getLayerIdsFromName`
   * :js:meth:`~IModelStructure.getLayerName`
   * :js:meth:`~IModelStructure.getLayers`
   * :js:meth:`~IModelStructure.getLowestAvailableNodeId`
   * :js:meth:`~IModelStructure.getMatrix`
   * :js:meth:`~IModelStructure.getModelFileNameFromNode`
   * :js:meth:`~IModelStructure.getModelFileTypeFromNode`
   * :js:meth:`~IModelStructure.getName`
   * :js:meth:`~IModelStructure.getNetMatrix`
   * :js:meth:`~IModelStructure.getNodeExchangeId`
   * :js:meth:`~IModelStructure.getNodeFromInstanceInc`
   * :js:meth:`~IModelStructure.getNodeGenericId`
   * :js:meth:`~IModelStructure.getNodeGenericType`
   * :js:meth:`~IModelStructure.getNodeLayerId`
   * :js:meth:`~IModelStructure.getNodeOrRepItem`
   * :js:meth:`~IModelStructure.getNodesByGenericId`
   * :js:meth:`~IModelStructure.getNodesByGenericType`
   * :js:meth:`~IModelStructure.getNodesFromFilterIds`
   * :js:meth:`~IModelStructure.getParentId`
   * :js:meth:`~IModelStructure.getPartReferrers`
   * :js:meth:`~IModelStructure.getPmis`
   * :js:meth:`~IModelStructure.getPmiSubType`
   * :js:meth:`~IModelStructure.getPmiTopologyReferences`
   * :js:meth:`~IModelStructure.getPmiType`
   * :js:meth:`~IModelStructure.getPointAttributes`
   * :js:meth:`~IModelStructure.getProperties`
   * :js:meth:`~IModelStructure.getRelationsByTypeFromNode`
   * :js:meth:`~IModelStructure.getRuntimeNodeFromBimId`
   * :js:meth:`~IModelStructure.getRuntimeNodesFromLayer`
   * :js:meth:`~IModelStructure.getRuntimeNodesFromLayerName`
   * :js:meth:`~IModelStructure.getRuntimeNodesFromLayers`
   * :js:meth:`~IModelStructure.getType`
   * :js:meth:`~IModelStructure.getUniqueLayerNames`
   * :js:meth:`~IModelStructure.getUnit`
   * :js:meth:`~IModelStructure.getUserData`
   * :js:meth:`~IModelStructure.getUserDataIndices`
   * :js:meth:`~IModelStructure.hasEffectiveGenericType`
   * :js:meth:`~IModelStructure.hasRelationships`
   * :js:meth:`~IModelStructure.init`
   * :js:meth:`~IModelStructure.isACadDrawing`
   * :js:meth:`~IModelStructure.isAnnotationView`
   * :js:meth:`~IModelStructure.isCombineStateView`
   * :js:meth:`~IModelStructure.isFaceMeasurable`
   * :js:meth:`~IModelStructure.isIdValid`
   * :js:meth:`~IModelStructure.isLineMeasurable`
   * :js:meth:`~IModelStructure.isMeasurable`
   * :js:meth:`~IModelStructure.isNodeLoaded`
   * :js:meth:`~IModelStructure.isOutOfHierarchy`
   * :js:meth:`~IModelStructure.isReady`
   * :js:meth:`~IModelStructure.isVisible`
   * :js:meth:`~IModelStructure.isWithinExternalModel`
   * :js:meth:`~IModelStructure.loadMeasurementFromFile`
   * :js:meth:`~IModelStructure.loadMeasurementFromJson`
   * :js:meth:`~IModelStructure.loadMeasurementFromString`
   * :js:meth:`~IModelStructure.loadSubtreeFromAssemblyData`
   * :js:meth:`~IModelStructure.loadSubtreeFromScsBuffer`
   * :js:meth:`~IModelStructure.loadSubtreeFromScsFile`
   * :js:meth:`~IModelStructure.loadSubtreeFromScsXmlDoc`
   * :js:meth:`~IModelStructure.loadSubtreeFromScsXmlFile`
   * :js:meth:`~IModelStructure.loadSubtreeFromStream`
   * :js:meth:`~IModelStructure.loadSubtreeFromXmlDoc`
   * :js:meth:`~IModelStructure.loadSubtreeFromXmlFile`
   * :js:meth:`~IModelStructure.lookupAnyBody`
   * :js:meth:`~IModelStructure.lookupAnyTreeNode`
   * :js:meth:`~IModelStructure.lookupBodyInstance`
   * :js:meth:`~IModelStructure.preventMeshDeletion`
   * :js:meth:`~IModelStructure.preventNodeDeletion`
   * :js:meth:`~IModelStructure.registerGenericId`
   * :js:meth:`~IModelStructure.registerGenericType`
   * :js:meth:`~IModelStructure.requestNodes`
   * :js:meth:`~IModelStructure.reset`
   * :js:meth:`~IModelStructure.resetAllTransforms`
   * :js:meth:`~IModelStructure.resetAllVisibilities`
   * :js:meth:`~IModelStructure.resetPmiColor`
   * :js:meth:`~IModelStructure.resetToInitialMatrix`
   * :js:meth:`~IModelStructure.setBehaviorInitiallyHidden`
   * :js:meth:`~IModelStructure.setBodyNodesVisibility`
   * :js:meth:`~IModelStructure.setEdgeProperty`
   * :js:meth:`~IModelStructure.setEnableAutomaticUnitScaling`
   * :js:meth:`~IModelStructure.setFaceProperty`
   * :js:meth:`~IModelStructure.setMatrices`
   * :js:meth:`~IModelStructure.setMatrix`
   * :js:meth:`~IModelStructure.setMeshLevel`
   * :js:meth:`~IModelStructure.setPart`
   * :js:meth:`~IModelStructure.setPhysicalProperties`
   * :js:meth:`~IModelStructure.setPmiColor`
   * :js:meth:`~IModelStructure.setPrefetchScsCutoffScale`
   * :js:meth:`~IModelStructure.setVisibilitiesByMap`
   * :js:meth:`~IModelStructure.setVisibilitiesByValue`
   * :js:meth:`~IModelStructure.shutdown`
   * :js:meth:`~IModelStructure.switchToModel`
   * :js:meth:`~IModelStructure.waitForReady`
   
   




Methods
=======

.. js:method:: IModelStructure._disableCadConfigurations

   .. rst-class:: sig-pretty-signature
   
      | _disableCadConfigurations(): *Promise*
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.$mapBimRelationshipTypes

   .. rst-class:: sig-pretty-signature
   
      | $mapBimRelationshipTypes(**nodeId**\ : *string*\ , **relationships**\ : *Relationship*\ []): :js:class:`~RelationshipInfo`\ []
   
   **Parameters**
   
      **nodeId**\ : *string*
   
      **relationships**\ : *Relationship*\ []
   
   
   **Returns**\ : :js:class:`~RelationshipInfo`\ []
   



.. js:method:: IModelStructure.activateCadConfiguration

   .. rst-class:: sig-pretty-signature
   
      | activateCadConfiguration(**view**\ : :js:class:`~IView`\ , **cadConfigId**\ : *number*\ , **fitNodes**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **view**\ : :js:class:`~IView`
   
      **cadConfigId**\ : *number*
   
      **fitNodes**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.activateCadView

   .. rst-class:: sig-pretty-signature
   
      | activateCadView(**view**\ : :js:class:`~IView`\ , **cadViewId**\ : *number*\ , **duration**\ : *number*\ , **massageCamera**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **view**\ : :js:class:`~IView`
   
      **cadViewId**\ : *number*
   
      **duration**\ : *number*
   
      **massageCamera**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.activateDefaultCadConfiguration

   .. rst-class:: sig-pretty-signature
   
      | activateDefaultCadConfiguration(**view**\ : :js:class:`~IView`\ , **fitNodes**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **view**\ : :js:class:`~IView`
   
      **fitNodes**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.activateDefaultCadView

   .. rst-class:: sig-pretty-signature
   
      | activateDefaultCadView(**view**\ : :js:class:`~IView`\ , **duration**\ : *number*\ , **massageCamera**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **view**\ : :js:class:`~IView`
   
      **duration**\ : *number*
   
      **massageCamera**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.addProperty

   .. rst-class:: sig-pretty-signature
   
      | addProperty(**nodeId**\ : *number*\ , **propertyName**\ : *string*\ , **propertyValue**\ : *string*\ , **propertyUnit**\ : :js:class:`~UnitElement`\ []): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **propertyName**\ : *string*
   
      **propertyValue**\ : *string*
   
      **propertyUnit**\ : :js:class:`~UnitElement`\ []
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.allowNodeDeletion

   .. rst-class:: sig-pretty-signature
   
      | allowNodeDeletion(**nodeId**\ : *number*\ ): *void*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.applyFilters

   .. rst-class:: sig-pretty-signature
   
      | applyFilters(**filterIds**\ : :js:data:`~FilterId`\ []): *Promise*
   
   **Parameters**
   
      **filterIds**\ : :js:data:`~FilterId`\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.cadConfigurationsEnabled

   .. rst-class:: sig-pretty-signature
   
      | cadConfigurationsEnabled(): *Promise*
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.clear

   .. rst-class:: sig-pretty-signature
   
      | clear(): *Promise*
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.createAndAddRepItem

   .. rst-class:: sig-pretty-signature
   
      | createAndAddRepItem(**partId**\ : *number*\ , **repItemId**\ : (*None* \| *number*\ )): (*None* \| *number*\ )
   
   **Parameters**
   
      **partId**\ : *number*
   
      **repItemId**\ : (*None* \| *number*\ )
   
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.createCadView

   .. rst-class:: sig-pretty-signature
   
      | createCadView(**parentId**\ : *number*\ , **viewName**\ : *string*\ , **camera**\ : :js:class:`~Camera`\ , **pmiIds**\ : (*None* \| *number*\ []), **nodesToShow**\ : *number*\ [], **nodesToHide**\ : *number*\ [], **nodesIdAndLocalTransforms**\ : [*number*\ , :js:class:`~Matrix`\ ][], **cuttingPlane**\ : (*None* \| :js:class:`~Plane`\ ), **meshInstanceData**\ : (*None* \| :js:class:`~MeshInstanceData`\ )): (*None* \| *number*\ )
   
   **Parameters**
   
      **parentId**\ : *number*
   
      **viewName**\ : *string*
   
      **camera**\ : :js:class:`~Camera`
   
      **pmiIds**\ : (*None* \| *number*\ [])
   
      **nodesToShow**\ : *number*\ []
   
      **nodesToHide**\ : *number*\ []
   
      **nodesIdAndLocalTransforms**\ : [*number*\ , :js:class:`~Matrix`\ ][]
   
      **cuttingPlane**\ : (*None* \| :js:class:`~Plane`\ )
   
      **meshInstanceData**\ : (*None* \| :js:class:`~MeshInstanceData`\ )
   
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.createMeshInstance

   .. rst-class:: sig-pretty-signature
   
      | createMeshInstance(**inclusionKey**\ : :js:data:`InclusionKey <Sc.InclusionKey>`\ , **instanceKey**\ : :js:data:`InstanceKey <Sc.InstanceKey.Invalid>`\ , **name**\ : (*None* \| *string*\ ), **parentId**\ : (*None* \| *number*\ ), **preventFromResetting**\ : *boolean*\ , **isOutOfHierarchy**\ : *boolean*\ , **implicitBody**\ : *boolean*\ ): *number*
   
   **Parameters**
   
      **inclusionKey**\ : :js:data:`InclusionKey <Sc.InclusionKey>`
   
      **instanceKey**\ : :js:data:`InstanceKey <Sc.InstanceKey.Invalid>`
   
      **name**\ : (*None* \| *string*\ )
   
      **parentId**\ : (*None* \| *number*\ )
   
      **preventFromResetting**\ : *boolean*
   
      **isOutOfHierarchy**\ : *boolean*
   
      **implicitBody**\ : *boolean*
   
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.createNode

   .. rst-class:: sig-pretty-signature
   
      | createNode(**parentId**\ : (*None* \| *number*\ ), **nodeName**\ : *string*\ , **nodeId**\ : (*None* \| *number*\ ), **localMatrix**\ : (*None* \| :js:class:`~Matrix`\ ), **visibility**\ : *boolean*\ , **measurementUnit**\ : (*None* \| *number*\ )): *number*
   
   **Parameters**
   
      **parentId**\ : (*None* \| *number*\ )
   
      **nodeName**\ : *string*
   
      **nodeId**\ : (*None* \| *number*\ )
   
      **localMatrix**\ : (*None* \| :js:class:`~Matrix`\ )
   
      **visibility**\ : *boolean*
   
      **measurementUnit**\ : (*None* \| *number*\ )
   
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.createPart

   .. rst-class:: sig-pretty-signature
   
      | createPart(**nodeId**\ : (*None* \| *number*\ )): *number*
   
   **Parameters**
   
      **nodeId**\ : (*None* \| *number*\ )
   
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.createPmiInstance

   .. rst-class:: sig-pretty-signature
   
      | createPmiInstance(**inclusionKey**\ : :js:data:`InclusionKey <Sc.InclusionKey>`\ , **instanceKey**\ : :js:data:`InstanceKey <Sc.InstanceKey.Invalid>`\ , **pmiType**\ : :js:data:`~PmiType`\ , **pmiSubType**\ : :js:data:`~PmiSubType`\ , **topoRefs**\ : *ReferenceOnTopology*\ [], **name**\ : (*None* \| *string*\ ), **parentId**\ : (*None* \| *number*\ )): *number*
   
   **Parameters**
   
      **inclusionKey**\ : :js:data:`InclusionKey <Sc.InclusionKey>`
   
      **instanceKey**\ : :js:data:`InstanceKey <Sc.InstanceKey.Invalid>`
   
      **pmiType**\ : :js:data:`~PmiType`
   
      **pmiSubType**\ : :js:data:`~PmiSubType`
   
      **topoRefs**\ : *ReferenceOnTopology*\ []
   
      **name**\ : (*None* \| *string*\ )
   
      **parentId**\ : (*None* \| *number*\ )
   
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.deleteNode

   .. rst-class:: sig-pretty-signature
   
      | deleteNode(**nodeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.firstAssemblyDataHeader

   .. rst-class:: sig-pretty-signature
   
      | firstAssemblyDataHeader(): (*None* \| *AssemblyDataHeader*\ )
   
   **Returns**\ : (*None* \| *AssemblyDataHeader*\ )
   



.. js:method:: IModelStructure.gatherAnyBodiesFromNodeId

   .. rst-class:: sig-pretty-signature
   
      | gatherAnyBodiesFromNodeId(**nodeId**\ : *number*\ ): *AnyBody*\ []
   
   Walk the assembly tree from the given nodeId and gather all the AnyBody nodes found.
   
   **Parameters**
   
      **nodeId**\ : *number*
   
         The starting nodeId to walk from.
   
   
   
   **Returns**\ : *AnyBody*\ []
   
      An array of AnyBody nodes found during the walk.
   
   



.. js:method:: IModelStructure.gatherInclusionKeysFromNodeIds

   .. rst-class:: sig-pretty-signature
   
      | gatherInclusionKeysFromNodeIds(**nodeIds**\ : *number*\ []): :js:data:`InclusionKey <Sc.InclusionKey>`\ []
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
   
   **Returns**\ : :js:data:`InclusionKey <Sc.InclusionKey>`\ []
   



.. js:method:: IModelStructure.gatherInstanceIncsFromNodeIds

   .. rst-class:: sig-pretty-signature
   
      | gatherInstanceIncsFromNodeIds(**nodeIds**\ : *number*\ [], **allowedTypes**\ : *BodyTypeBits*\ , **restriction**\ : *WalkRestriction*\ ): :js:data:`InstanceIncs <Sc.InstanceIncs>`
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **allowedTypes**\ : *BodyTypeBits*
   
      **restriction**\ : *WalkRestriction*
   
   
   **Returns**\ : :js:data:`InstanceIncs <Sc.InstanceIncs>`
   



.. js:method:: IModelStructure.getAbsoluteRootNodeId

   .. rst-class:: sig-pretty-signature
   
      | getAbsoluteRootNodeId(): *number*
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.getActiveCadConfiguration

   .. rst-class:: sig-pretty-signature
   
      | getActiveCadConfiguration(): (*None* \| *number*\ )
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.getAllRelationships

   .. rst-class:: sig-pretty-signature
   
      | getAllRelationships(**nodeId**\ : *number*\ ): *Relationship*\ []
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *Relationship*\ []
   



.. js:method:: IModelStructure.getAssociatedModelKey

   .. rst-class:: sig-pretty-signature
   
      | getAssociatedModelKey(**nodeId**\ : *number*\ ): (*None* \| :js:data:`ModelKey <Sc.ModelKey>`\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| :js:data:`ModelKey <Sc.ModelKey>`\ )
   



.. js:method:: IModelStructure.getAttributes

   .. rst-class:: sig-pretty-signature
   
      | getAttributes(**nodeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getBimIdFromNode

   .. rst-class:: sig-pretty-signature
   
      | getBimIdFromNode(**nodeId**\ : *number*\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getBimIdRelationshipTypes

   .. rst-class:: sig-pretty-signature
   
      | getBimIdRelationshipTypes(**contextNodeId**\ : *number*\ , **nodeId**\ : *string*\ ): :js:class:`~RelationshipInfo`\ []
   
   **Parameters**
   
      **contextNodeId**\ : *number*
   
      **nodeId**\ : *string*
   
   
   **Returns**\ : :js:class:`~RelationshipInfo`\ []
   



.. js:method:: IModelStructure.getBounding

   .. rst-class:: sig-pretty-signature
   
      | getBounding(**nodeIds**\ : *number*\ [], **allowedTypes**\ : *BodyTypeBits*\ , **ignoreInvisible**\ : *boolean*\ , **tightBounding**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **allowedTypes**\ : *BodyTypeBits*
   
      **ignoreInvisible**\ : *boolean*
   
      **tightBounding**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getBranchVisibility

   .. rst-class:: sig-pretty-signature
   
      | getBranchVisibility(**nodeId**\ : *number*\ ): :js:data:`~BranchVisibility`
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : :js:data:`~BranchVisibility`
   



.. js:method:: IModelStructure.getCadConfigurations

   .. rst-class:: sig-pretty-signature
   
      | getCadConfigurations(): :js:class:`~IdStringMap`
   
   **Returns**\ : :js:class:`~IdStringMap`
   



.. js:method:: IModelStructure.getCadViewConfiguration

   .. rst-class:: sig-pretty-signature
   
      | getCadViewConfiguration(**nodeId**\ : *number*\ ): (*None* \| *number*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.getCadViewMap

   .. rst-class:: sig-pretty-signature
   
      | getCadViewMap(): *Map*
   
   **Returns**\ : *Map*
   



.. js:method:: IModelStructure.getCadViewPmis

   .. rst-class:: sig-pretty-signature
   
      | getCadViewPmis(**cadViewId**\ : *number*\ ): *number*\ []
   
   **Parameters**
   
      **cadViewId**\ : *number*
   
   
   **Returns**\ : *number*\ []
   



.. js:method:: IModelStructure.getChildIds

   .. rst-class:: sig-pretty-signature
   
      | getChildIds(**nodeId**\ : *number*\ , **includeOutOfHierarchy**\ : *boolean*\ ): *number*\ []
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **includeOutOfHierarchy**\ : *boolean*
   
   
   **Returns**\ : *number*\ []
   



.. js:method:: IModelStructure.getDefaultCadConfiguration

   .. rst-class:: sig-pretty-signature
   
      | getDefaultCadConfiguration(): (*None* \| *number*\ )
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.getDefaultCadView

   .. rst-class:: sig-pretty-signature
   
      | getDefaultCadView(): (*None* \| *number*\ )
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.getEdgeAttributes

   .. rst-class:: sig-pretty-signature
   
      | getEdgeAttributes(**nodeId**\ : *number*\ , **edgeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **edgeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getEdgeCount

   .. rst-class:: sig-pretty-signature
   
      | getEdgeCount(**nodeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getEdgeProperty

   .. rst-class:: sig-pretty-signature
   
      | getEdgeProperty(**nodeId**\ : *number*\ , **edgeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **edgeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getFaceAttributes

   .. rst-class:: sig-pretty-signature
   
      | getFaceAttributes(**nodeId**\ : *number*\ , **faceId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **faceId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getFaceCount

   .. rst-class:: sig-pretty-signature
   
      | getFaceCount(**nodeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getFaceProperty

   .. rst-class:: sig-pretty-signature
   
      | getFaceProperty(**prcId**\ : *number*\ , **faceId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **prcId**\ : *number*
   
      **faceId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getFilterName

   .. rst-class:: sig-pretty-signature
   
      | getFilterName(**filterId**\ : :js:data:`~FilterId`\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **filterId**\ : :js:data:`~FilterId`
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getFilters

   .. rst-class:: sig-pretty-signature
   
      | getFilters(): *Map*
   
   **Returns**\ : *Map*
   



.. js:method:: IModelStructure.getFiltersFromView

   .. rst-class:: sig-pretty-signature
   
      | getFiltersFromView(**nodeId**\ : *number*\ ): :js:data:`~FilterId`\ []
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : :js:data:`~FilterId`\ []
   



.. js:method:: IModelStructure.getFiltersWithNode

   .. rst-class:: sig-pretty-signature
   
      | getFiltersWithNode(**nodeId**\ : *number*\ ): :js:data:`~FilterId`\ []
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : :js:data:`~FilterId`\ []
   



.. js:method:: IModelStructure.getGenericTypeIdMap

   .. rst-class:: sig-pretty-signature
   
      | getGenericTypeIdMap(): *Map*
   
   **Returns**\ : *Map*
   



.. js:method:: IModelStructure.getGenericTypes

   .. rst-class:: sig-pretty-signature
   
      | getGenericTypes(): *string*\ []
   
   **Returns**\ : *string*\ []
   



.. js:method:: IModelStructure.getIdOffset

   .. rst-class:: sig-pretty-signature
   
      | getIdOffset(**nodeId**\ : *number*\ ): *number*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.getInfoOfBimId

   .. rst-class:: sig-pretty-signature
   
      | getInfoOfBimId(**nodeID**\ : *number*\ , **bimId**\ : *string*\ ): { connected: *boolean*\ , name: *string* }
   
   **Parameters**
   
      **nodeID**\ : *number*
   
      **bimId**\ : *string*
   
   
   **Returns**\ : { connected: *boolean*\ , name: *string* }
   



.. js:method:: IModelStructure.getInstanceIncs

   .. rst-class:: sig-pretty-signature
   
      | getInstanceIncs(**nodeId**\ : *number*\ , **allowedTypes**\ : *BodyTypeBits*\ ): :js:data:`InstanceIncs <Sc.InstanceIncs>`
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **allowedTypes**\ : *BodyTypeBits*
   
   
   **Returns**\ : :js:data:`InstanceIncs <Sc.InstanceIncs>`
   



.. js:method:: IModelStructure.getLayerIdsFromName

   .. rst-class:: sig-pretty-signature
   
      | getLayerIdsFromName(**name**\ : *string*\ ): (*None* \| :js:data:`~LayerId`\ [])
   
   **Parameters**
   
      **name**\ : *string*
   
   
   **Returns**\ : (*None* \| :js:data:`~LayerId`\ [])
   



.. js:method:: IModelStructure.getLayerName

   .. rst-class:: sig-pretty-signature
   
      | getLayerName(**layerId**\ : :js:data:`~LayerId`\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **layerId**\ : :js:data:`~LayerId`
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getLayers

   .. rst-class:: sig-pretty-signature
   
      | getLayers(): *Map*
   
   **Returns**\ : *Map*
   



.. js:method:: IModelStructure.getLowestAvailableNodeId

   .. rst-class:: sig-pretty-signature
   
      | getLowestAvailableNodeId(): *number*
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.getMatrix

   .. rst-class:: sig-pretty-signature
   
      | getMatrix(**nodeId**\ : *number*\ ): :js:class:`~Matrix`
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : :js:class:`~Matrix`
   



.. js:method:: IModelStructure.getModelFileNameFromNode

   .. rst-class:: sig-pretty-signature
   
      | getModelFileNameFromNode(**nodeId**\ : *number*\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getModelFileTypeFromNode

   .. rst-class:: sig-pretty-signature
   
      | getModelFileTypeFromNode(**nodeId**\ : *number*\ ): (*None* \| :js:data:`~FileType`\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| :js:data:`~FileType`\ )
   



.. js:method:: IModelStructure.getName

   .. rst-class:: sig-pretty-signature
   
      | getName(**nodeId**\ : *number*\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getNetMatrix

   .. rst-class:: sig-pretty-signature
   
      | getNetMatrix(**nodeId**\ : *number*\ ): :js:data:`~Matrix16`
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : :js:data:`~Matrix16`
   



.. js:method:: IModelStructure.getNodeExchangeId

   .. rst-class:: sig-pretty-signature
   
      | getNodeExchangeId(**nodeId**\ : *number*\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getNodeFromInstanceInc

   .. rst-class:: sig-pretty-signature
   
      | getNodeFromInstanceInc(**markNodeLoadedIfCreated**\ : *boolean*\ , **inclusionKey**\ : :js:data:`InclusionKey <Sc.InclusionKey>`\ , **instanceKey**\ : :js:data:`InstanceKey <Sc.InstanceKey.Invalid>`\ , **isOutOfHierarchy**\ : *boolean*\ ): *number*
   
   **Parameters**
   
      **markNodeLoadedIfCreated**\ : *boolean*
   
      **inclusionKey**\ : :js:data:`InclusionKey <Sc.InclusionKey>`
   
      **instanceKey**\ : :js:data:`InstanceKey <Sc.InstanceKey.Invalid>`
   
      **isOutOfHierarchy**\ : *boolean*
   
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.getNodeGenericId

   .. rst-class:: sig-pretty-signature
   
      | getNodeGenericId(**nodeId**\ : *number*\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getNodeGenericType

   .. rst-class:: sig-pretty-signature
   
      | getNodeGenericType(**nodeId**\ : *number*\ ): (*None* \| *string*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: IModelStructure.getNodeLayerId

   .. rst-class:: sig-pretty-signature
   
      | getNodeLayerId(**nodeId**\ : *number*\ ): (*None* \| :js:data:`~LayerId`\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| :js:data:`~LayerId`\ )
   



.. js:method:: IModelStructure.getNodeOrRepItem

   .. rst-class:: sig-pretty-signature
   
      | getNodeOrRepItem(**node**\ : *AnyNode*\ ): *Promise*
   
   **Parameters**
   
      **node**\ : *AnyNode*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getNodesByGenericId

   .. rst-class:: sig-pretty-signature
   
      | getNodesByGenericId(**genericId**\ : *string*\ ): (*None* \| *Set*\ )
   
   **Parameters**
   
      **genericId**\ : *string*
   
   
   **Returns**\ : (*None* \| *Set*\ )
   



.. js:method:: IModelStructure.getNodesByGenericType

   .. rst-class:: sig-pretty-signature
   
      | getNodesByGenericType(**genericType**\ : *string*\ ): (*None* \| *Set*\ )
   
   **Parameters**
   
      **genericType**\ : *string*
   
   
   **Returns**\ : (*None* \| *Set*\ )
   



.. js:method:: IModelStructure.getNodesFromFilterIds

   .. rst-class:: sig-pretty-signature
   
      | getNodesFromFilterIds(**filterIds**\ : :js:data:`~FilterId`\ []): (*None* \| :js:class:`~FilteredNodes`\ )
   
   **Parameters**
   
      **filterIds**\ : :js:data:`~FilterId`\ []
   
   
   **Returns**\ : (*None* \| :js:class:`~FilteredNodes`\ )
   



.. js:method:: IModelStructure.getParentId

   .. rst-class:: sig-pretty-signature
   
      | getParentId(**nodeId**\ : *number*\ ): (*None* \| *number*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.getPartReferrers

   .. rst-class:: sig-pretty-signature
   
      | getPartReferrers(**nodeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getPmis

   .. rst-class:: sig-pretty-signature
   
      | getPmis(): :js:class:`~IdStringMap`
   
   **Returns**\ : :js:class:`~IdStringMap`
   



.. js:method:: IModelStructure.getPmiSubType

   .. rst-class:: sig-pretty-signature
   
      | getPmiSubType(**pmiId**\ : *number*\ ): :js:data:`~PmiSubType`
   
   **Parameters**
   
      **pmiId**\ : *number*
   
   
   **Returns**\ : :js:data:`~PmiSubType`
   



.. js:method:: IModelStructure.getPmiTopologyReferences

   .. rst-class:: sig-pretty-signature
   
      | getPmiTopologyReferences(**pmiNodeId**\ : *number*\ ): (*None* \| *PmiTopologyReference*\ [])
   
   **Parameters**
   
      **pmiNodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *PmiTopologyReference*\ [])
   



.. js:method:: IModelStructure.getPmiType

   .. rst-class:: sig-pretty-signature
   
      | getPmiType(**pmiId**\ : *number*\ ): :js:data:`~PmiType`
   
   **Parameters**
   
      **pmiId**\ : *number*
   
   
   **Returns**\ : :js:data:`~PmiType`
   



.. js:method:: IModelStructure.getPointAttributes

   .. rst-class:: sig-pretty-signature
   
      | getPointAttributes(**nodeId**\ : *number*\ , **pointId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **pointId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getProperties

   .. rst-class:: sig-pretty-signature
   
      | getProperties(**nodeId**\ : *number*\ , **computeFromChildren**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **computeFromChildren**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.getRelationsByTypeFromNode

   .. rst-class:: sig-pretty-signature
   
      | getRelationsByTypeFromNode(**contextNodeId**\ : *number*\ , **nodeId**\ : *string*\ ): (*None* \| *Map*\ )
   
   **Parameters**
   
      **contextNodeId**\ : *number*
   
      **nodeId**\ : *string*
   
   
   **Returns**\ : (*None* \| *Map*\ )
   



.. js:method:: IModelStructure.getRuntimeNodeFromBimId

   .. rst-class:: sig-pretty-signature
   
      | getRuntimeNodeFromBimId(**contextNodeId**\ : *number*\ , **bimId**\ : *string*\ ): (*None* \| *number*\ )
   
   **Parameters**
   
      **contextNodeId**\ : *number*
   
      **bimId**\ : *string*
   
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModelStructure.getRuntimeNodesFromLayer

   .. rst-class:: sig-pretty-signature
   
      | getRuntimeNodesFromLayer(**layerId**\ : :js:data:`~LayerId`\ , **onlyTreeNodes**\ : *boolean*\ ): (*None* \| *number*\ [])
   
   **Parameters**
   
      **layerId**\ : :js:data:`~LayerId`
   
      **onlyTreeNodes**\ : *boolean*
   
   
   **Returns**\ : (*None* \| *number*\ [])
   



.. js:method:: IModelStructure.getRuntimeNodesFromLayerName

   .. rst-class:: sig-pretty-signature
   
      | getRuntimeNodesFromLayerName(**layerName**\ : *string*\ , **onlyTreeNodes**\ : *boolean*\ ): (*None* \| *number*\ [])
   
   **Parameters**
   
      **layerName**\ : *string*
   
      **onlyTreeNodes**\ : *boolean*
   
   
   **Returns**\ : (*None* \| *number*\ [])
   



.. js:method:: IModelStructure.getRuntimeNodesFromLayers

   .. rst-class:: sig-pretty-signature
   
      | getRuntimeNodesFromLayers(**layersId**\ : :js:data:`~LayerId`\ [], **onlyTreeNodes**\ : *boolean*\ ): (*None* \| *number*\ [])
   
   **Parameters**
   
      **layersId**\ : :js:data:`~LayerId`\ []
   
      **onlyTreeNodes**\ : *boolean*
   
   
   **Returns**\ : (*None* \| *number*\ [])
   



.. js:method:: IModelStructure.getType

   .. rst-class:: sig-pretty-signature
   
      | getType(**nodeId**\ : *number*\ ): :js:data:`~NodeType`
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : :js:data:`~NodeType`
   



.. js:method:: IModelStructure.getUniqueLayerNames

   .. rst-class:: sig-pretty-signature
   
      | getUniqueLayerNames(): *string*\ []
   
   **Returns**\ : *string*\ []
   



.. js:method:: IModelStructure.getUnit

   .. rst-class:: sig-pretty-signature
   
      | getUnit(**nodeId**\ : *number*\ ): *number*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *number*
   



.. js:method:: IModelStructure.getUserData

   .. rst-class:: sig-pretty-signature
   
      | getUserData(**nodeId**\ : *number*\ , **index**\ : :js:data:`~UserDataIndex`\ ): *Uint8Array*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **index**\ : :js:data:`~UserDataIndex`
   
   
   **Returns**\ : *Uint8Array*
   



.. js:method:: IModelStructure.getUserDataIndices

   .. rst-class:: sig-pretty-signature
   
      | getUserDataIndices(**nodeId**\ : *number*\ ): :js:data:`~UserDataIndex`\ []
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : :js:data:`~UserDataIndex`\ []
   



.. js:method:: IModelStructure.hasEffectiveGenericType

   .. rst-class:: sig-pretty-signature
   
      | hasEffectiveGenericType(**nodeId**\ : *number*\ , **genericType**\ : *string*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **genericType**\ : *string*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.hasRelationships

   .. rst-class:: sig-pretty-signature
   
      | hasRelationships(**nodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.init

   .. rst-class:: sig-pretty-signature
   
      | init(**view**\ : :js:class:`~IView`\ , **maxConcurrentAttachments**\ : (*None* \| *number*\ )): *Promise*
   
   **Parameters**
   
      **view**\ : :js:class:`~IView`
   
      **maxConcurrentAttachments**\ : (*None* \| *number*\ )
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.isACadDrawing

   .. rst-class:: sig-pretty-signature
   
      | isACadDrawing(): *boolean*
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isAnnotationView

   .. rst-class:: sig-pretty-signature
   
      | isAnnotationView(**cadViewNodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **cadViewNodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isCombineStateView

   .. rst-class:: sig-pretty-signature
   
      | isCombineStateView(**cadViewNodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **cadViewNodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isFaceMeasurable

   .. rst-class:: sig-pretty-signature
   
      | isFaceMeasurable(**bodyId**\ : *number*\ , **faceIndex**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **bodyId**\ : *number*
   
      **faceIndex**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.isIdValid

   .. rst-class:: sig-pretty-signature
   
      | isIdValid(**nodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isLineMeasurable

   .. rst-class:: sig-pretty-signature
   
      | isLineMeasurable(**bodyId**\ : *number*\ , **lineIndex**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **bodyId**\ : *number*
   
      **lineIndex**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.isMeasurable

   .. rst-class:: sig-pretty-signature
   
      | isMeasurable(): *boolean*
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isNodeLoaded

   .. rst-class:: sig-pretty-signature
   
      | isNodeLoaded(**nodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isOutOfHierarchy

   .. rst-class:: sig-pretty-signature
   
      | isOutOfHierarchy(**nodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isReady

   .. rst-class:: sig-pretty-signature
   
      | isReady(): *boolean*
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isVisible

   .. rst-class:: sig-pretty-signature
   
      | isVisible(**nodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.isWithinExternalModel

   .. rst-class:: sig-pretty-signature
   
      | isWithinExternalModel(**nodeId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.loadMeasurementFromFile

   .. rst-class:: sig-pretty-signature
   
      | loadMeasurementFromFile(**zipFilename**\ : *string*\ ): *Promise*
   
   **Parameters**
   
      **zipFilename**\ : *string*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadMeasurementFromJson

   .. rst-class:: sig-pretty-signature
   
      | loadMeasurementFromJson(**json**\ : *any*\ ): *Promise*
   
   **Parameters**
   
      **json**\ : *any*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadMeasurementFromString

   .. rst-class:: sig-pretty-signature
   
      | loadMeasurementFromString(**str**\ : *string*\ ): *Promise*
   
   **Parameters**
   
      **str**\ : *string*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromAssemblyData

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromAssemblyData(**nodeId**\ : *number*\ , **modelInc**\ : :js:data:`ModelInc <Sc.ModelInc>`\ , **assemblyData**\ : *AssemblyData*\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **modelInc**\ : :js:data:`ModelInc <Sc.ModelInc>`
   
      **assemblyData**\ : *AssemblyData*
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromScsBuffer

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromScsBuffer(**nodeId**\ : *number*\ , **scsBuffer**\ : :js:data:`ScsBuffer <Sc.ScsBuffer>`\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **scsBuffer**\ : :js:data:`ScsBuffer <Sc.ScsBuffer>`
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromScsFile

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromScsFile(**nodeId**\ : *number*\ , **scsFilename**\ : *string*\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **scsFilename**\ : *string*
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromScsXmlDoc

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromScsXmlDoc(**nodeId**\ : *number*\ , **xmlData**\ : (*string* \| *Document*\ ), **modelNameToScs**\ : :js:data:`~ModelNameToScsFileFunc`\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **xmlData**\ : (*string* \| *Document*\ )
   
      **modelNameToScs**\ : :js:data:`~ModelNameToScsFileFunc`
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromScsXmlFile

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromScsXmlFile(**nodeId**\ : *number*\ , **xmlFilename**\ : *string*\ , **modelNameToScs**\ : :js:data:`~ModelNameToScsFileFunc`\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **xmlFilename**\ : *string*
   
      **modelNameToScs**\ : :js:data:`~ModelNameToScsFileFunc`
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromStream

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromStream(**nodeId**\ : *number*\ , **modelName**\ : *string*\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **modelName**\ : *string*
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromXmlDoc

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromXmlDoc(**nodeId**\ : *number*\ , **xml**\ : (*string* \| *Document*\ ), **massageModelName**\ : :js:data:`~MassageModelNameFunc`\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **xml**\ : (*string* \| *Document*\ )
   
      **massageModelName**\ : :js:data:`~MassageModelNameFunc`
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.loadSubtreeFromXmlFile

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromXmlFile(**nodeId**\ : *number*\ , **xmlFilename**\ : *string*\ , **massageModelName**\ : :js:data:`~MassageModelNameFunc`\ , **config**\ : :js:class:`~LoadSubtreeConfig`\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **xmlFilename**\ : *string*
   
      **massageModelName**\ : :js:data:`~MassageModelNameFunc`
   
      **config**\ : :js:class:`~LoadSubtreeConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.lookupAnyBody

   .. rst-class:: sig-pretty-signature
   
      | lookupAnyBody(**nodeId**\ : *number*\ ): (*None* \| *AnyBody*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *AnyBody*\ )
   



.. js:method:: IModelStructure.lookupAnyTreeNode

   .. rst-class:: sig-pretty-signature
   
      | lookupAnyTreeNode(**nodeId**\ : *number*\ ): (*None* \| *AnyTreeNode*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *AnyTreeNode*\ )
   



.. js:method:: IModelStructure.lookupBodyInstance

   .. rst-class:: sig-pretty-signature
   
      | lookupBodyInstance(**nodeId**\ : *number*\ ): (*None* \| *BodyInstance*\ )
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : (*None* \| *BodyInstance*\ )
   



.. js:method:: IModelStructure.preventMeshDeletion

   .. rst-class:: sig-pretty-signature
   
      | preventMeshDeletion(**meshId**\ : :js:data:`MeshKey <Sc.MeshKey.Invalid>`\ ): *void*
   
   **Parameters**
   
      **meshId**\ : :js:data:`MeshKey <Sc.MeshKey.Invalid>`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.preventNodeDeletion

   .. rst-class:: sig-pretty-signature
   
      | preventNodeDeletion(**nodeId**\ : *number*\ ): *void*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.registerGenericId

   .. rst-class:: sig-pretty-signature
   
      | registerGenericId(**node**\ : *AnyTreeNode*\ , **genericId**\ : *string*\ ): *void*
   
   **Parameters**
   
      **node**\ : *AnyTreeNode*
   
      **genericId**\ : *string*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.registerGenericType

   .. rst-class:: sig-pretty-signature
   
      | registerGenericType(**node**\ : *AnyTreeNode*\ , **genericType**\ : *string*\ ): *void*
   
   **Parameters**
   
      **node**\ : *AnyTreeNode*
   
      **genericType**\ : *string*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.requestNodes

   .. rst-class:: sig-pretty-signature
   
      | requestNodes(**nodeIds**\ : *number*\ []): *Promise*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.reset

   .. rst-class:: sig-pretty-signature
   
      | reset(): *Promise*
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.resetAllTransforms

   .. rst-class:: sig-pretty-signature
   
      | resetAllTransforms(): *Promise*
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.resetAllVisibilities

   .. rst-class:: sig-pretty-signature
   
      | resetAllVisibilities(): *Promise*
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.resetPmiColor

   .. rst-class:: sig-pretty-signature
   
      | resetPmiColor(**startNodeId**\ : (*undefined* \| *number*\ )): *void*
   
   **Parameters**
   
      **startNodeId**\ : (*undefined* \| *number*\ )
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.resetToInitialMatrix

   .. rst-class:: sig-pretty-signature
   
      | resetToInitialMatrix(**nodeId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.setBehaviorInitiallyHidden

   .. rst-class:: sig-pretty-signature
   
      | setBehaviorInitiallyHidden(**value**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **value**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.setBodyNodesVisibility

   .. rst-class:: sig-pretty-signature
   
      | setBodyNodesVisibility(**startNode**\ : *AnyTreeNode*\ , **visibilityFormatter**\ : (*boolean* \| (**node**\ : *AnyTreeNode*\ ) => (*undefined* \| *boolean*\ ))): *Promise*
   
   **Parameters**
   
      **startNode**\ : *AnyTreeNode*
   
      **visibilityFormatter**\ : (*boolean* \| (**node**\ : *AnyTreeNode*\ ) => (*undefined* \| *boolean*\ ))
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.setEdgeProperty

   .. rst-class:: sig-pretty-signature
   
      | setEdgeProperty(**nodeId**\ : *number*\ , **edgeId**\ : *number*\ , **prop**\ : *Base*\ ): *void*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **edgeId**\ : *number*
   
      **prop**\ : *Base*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.setEnableAutomaticUnitScaling

   .. rst-class:: sig-pretty-signature
   
      | setEnableAutomaticUnitScaling(**value**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **value**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.setFaceProperty

   .. rst-class:: sig-pretty-signature
   
      | setFaceProperty(**nodeId**\ : *number*\ , **faceId**\ : *number*\ , **prop**\ : *Base*\ ): *void*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **faceId**\ : *number*
   
      **prop**\ : *Base*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.setMatrices

   .. rst-class:: sig-pretty-signature
   
      | setMatrices(**nodeIds**\ : *number*\ [], **matrices**\ : :js:class:`~Matrix`\ [], **setAsInitial**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **matrices**\ : :js:class:`~Matrix`\ []
   
      **setAsInitial**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.setMatrix

   .. rst-class:: sig-pretty-signature
   
      | setMatrix(**nodeId**\ : *number*\ , **matrix**\ : :js:class:`~Matrix`\ , **setAsInitial**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **matrix**\ : :js:class:`~Matrix`
   
      **setAsInitial**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.setMeshLevel

   .. rst-class:: sig-pretty-signature
   
      | setMeshLevel(**nodeIds**\ : *number*\ [], **meshLevel**\ : *number*\ ): *void*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **meshLevel**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.setPart

   .. rst-class:: sig-pretty-signature
   
      | setPart(**nodeId**\ : *number*\ , **partId**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **partId**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.setPhysicalProperties

   .. rst-class:: sig-pretty-signature
   
      | setPhysicalProperties(**nodeId**\ : *number*\ , **centerOfGravity**\ : :js:class:`~Point3`\ , **surfaceArea**\ : *number*\ , **volume**\ : *number*\ ): *boolean*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **centerOfGravity**\ : :js:class:`~Point3`
   
      **surfaceArea**\ : *number*
   
      **volume**\ : *number*
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModelStructure.setPmiColor

   .. rst-class:: sig-pretty-signature
   
      | setPmiColor(**color**\ : :js:class:`~Color`\ , **startNodeId**\ : (*undefined* \| *number*\ )): *void*
   
   **Parameters**
   
      **color**\ : :js:class:`~Color`
   
      **startNodeId**\ : (*undefined* \| *number*\ )
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.setPrefetchScsCutoffScale

   .. rst-class:: sig-pretty-signature
   
      | setPrefetchScsCutoffScale(**prefetchCutoffScale**\ : *number*\ ): *void*
   
   **Parameters**
   
      **prefetchCutoffScale**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.setVisibilitiesByMap

   .. rst-class:: sig-pretty-signature
   
      | setVisibilitiesByMap(**idToVisibility**\ : *Map*\ , **initiallyHiddenStayHidden**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **idToVisibility**\ : *Map*
   
      **initiallyHiddenStayHidden**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.setVisibilitiesByValue

   .. rst-class:: sig-pretty-signature
   
      | setVisibilitiesByValue(**nodeIds**\ : *number*\ [], **visibility**\ : *boolean*\ , **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ )): *Promise*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **visibility**\ : *boolean*
   
      **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ )
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.shutdown

   .. rst-class:: sig-pretty-signature
   
      | shutdown(): *void*
   
   **Returns**\ : *void*
   



.. js:method:: IModelStructure.switchToModel

   .. rst-class:: sig-pretty-signature
   
      | switchToModel(**newModelFilename**\ : *string*\ ): *Promise*
   
   **Parameters**
   
      **newModelFilename**\ : *string*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModelStructure.waitForReady

   .. rst-class:: sig-pretty-signature
   
      | waitForReady(): *Promise*
   
   **Returns**\ : *Promise*
   





