
######
IModel
######

.. js:class:: IModel

   
   Index
   =====
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~IModel._allowNodeDeletion`
   * :js:meth:`~IModel._firstAssemblyDataHeader`
   * :js:meth:`~IModel._gatherInstanceIncsFromNodeIds`
   * :js:meth:`~IModel._getModelStructure`
   * :js:meth:`~IModel._getNodeFromInstanceInc`
   * :js:meth:`~IModel._hwfAwaitAssemblyTreeReady`
   * :js:meth:`~IModel._preventMeshDeletion`
   * :js:meth:`~IModel._preventNodeDeletion`
   * :js:meth:`~IModel._setDefaultView`
   * :js:meth:`~IModel._setInstanceModifier`
   * :js:meth:`~IModel._setModelStructure`
   * :js:meth:`~IModel._setNodesMatrices`
   * :js:meth:`~IModel.activateCadConfiguration`
   * :js:meth:`~IModel.activateCadView`
   * :js:meth:`~IModel.activateDefaultCadConfiguration`
   * :js:meth:`~IModel.activateDefaultCadView`
   * :js:meth:`~IModel.addPropertyToNode`
   * :js:meth:`~IModel.cadConfigurationsEnabled`
   * :js:meth:`~IModel.clear`
   * :js:meth:`~IModel.clearNodeFaceVisibility`
   * :js:meth:`~IModel.clearNodeLineVisibility`
   * :js:meth:`~IModel.clearNodePointVisibility`
   * :js:meth:`~IModel.computeMinimumBodyBodyDistance`
   * :js:meth:`~IModel.computeMinimumFaceFaceDistance`
   * :js:meth:`~IModel.computeMinimumFaceLineDistance`
   * :js:meth:`~IModel.computeMinimumFaceRayDistance`
   * :js:meth:`~IModel.createAndAddRepresentationItem`
   * :js:meth:`~IModel.createCadView`
   * :js:meth:`~IModel.createImage`
   * :js:meth:`~IModel.createMesh`
   * :js:meth:`~IModel.createMeshInstance`
   * :js:meth:`~IModel.createNode`
   * :js:meth:`~IModel.createPart`
   * :js:meth:`~IModel.createPmiInstance`
   * :js:meth:`~IModel.deleteImages`
   * :js:meth:`~IModel.deleteMeshes`
   * :js:meth:`~IModel.deleteMeshInstances`
   * :js:meth:`~IModel.deleteNode`
   * :js:meth:`~IModel.getAbsoluteRootNode`
   * :js:meth:`~IModel.getActiveCadConfiguration`
   * :js:meth:`~IModel.getAssociatedModelKey`
   * :js:meth:`~IModel.getBimIdConnectedElements`
   * :js:meth:`~IModel.getBimIdFromNode`
   * :js:meth:`~IModel.getBimIdRelatedElements`
   * :js:meth:`~IModel.getBimIdRelatingElements`
   * :js:meth:`~IModel.getBimIdsFromGenericId`
   * :js:meth:`~IModel.getBimInfoFromBimId`
   * :js:meth:`~IModel.getBranchVisibility`
   * :js:meth:`~IModel.getCadConfigurations`
   * :js:meth:`~IModel.getCadViewConfiguration`
   * :js:meth:`~IModel.getCadViewMap`
   * :js:meth:`~IModel.getCadViewPmis`
   * :js:meth:`~IModel.getDataFromIds`
   * :js:meth:`~IModel.getDefaultCadConfiguration`
   * :js:meth:`~IModel.getDefaultCadView`
   * :js:meth:`~IModel.getEdgeAttributes`
   * :js:meth:`~IModel.getEdgeCount`
   * :js:meth:`~IModel.getEdgeProperty`
   * :js:meth:`~IModel.getFaceAttributes`
   * :js:meth:`~IModel.getFaceCount`
   * :js:meth:`~IModel.getFaceProperty`
   * :js:meth:`~IModel.getFilterName`
   * :js:meth:`~IModel.getFilters`
   * :js:meth:`~IModel.getFiltersWithNode`
   * :js:meth:`~IModel.getGenericIdFromBimId`
   * :js:meth:`~IModel.getGenericTypeIdMap`
   * :js:meth:`~IModel.getGenericTypes`
   * :js:meth:`~IModel.getLayerIdsFromName`
   * :js:meth:`~IModel.getLayerName`
   * :js:meth:`~IModel.getLayers`
   * :js:meth:`~IModel.getLooseBounding`
   * :js:meth:`~IModel.getLowestAvailableNodeId`
   * :js:meth:`~IModel.getMeshIds`
   * :js:meth:`~IModel.getMetallicRoughness`
   * :js:meth:`~IModel.getModelBounding`
   * :js:meth:`~IModel.getModelFileNameFromNode`
   * :js:meth:`~IModel.getModelFileTypeFromNode`
   * :js:meth:`~IModel.getNodeCappingMeshData`
   * :js:meth:`~IModel.getNodeChildren`
   * :js:meth:`~IModel.getNodeColorMap`
   * :js:meth:`~IModel.getNodeEffectiveFaceColor`
   * :js:meth:`~IModel.getNodeEffectiveLineColor`
   * :js:meth:`~IModel.getNodeEffectivePointColor`
   * :js:meth:`~IModel.getNodeExchangeId`
   * :js:meth:`~IModel.getNodeFaceColor`
   * :js:meth:`~IModel.getNodeFaceHighlighted`
   * :js:meth:`~IModel.getNodeGenericId`
   * :js:meth:`~IModel.getNodeGenericType`
   * :js:meth:`~IModel.getNodeIdFromBimId`
   * :js:meth:`~IModel.getNodeIdFromScInstanceKey`
   * :js:meth:`~IModel.getNodeIdOffset`
   * :js:meth:`~IModel.getNodeIdsByGenericIds`
   * :js:meth:`~IModel.getNodeLayerId`
   * :js:meth:`~IModel.getNodeLineColor`
   * :js:meth:`~IModel.getNodeLineHighlighted`
   * :js:meth:`~IModel.getNodeMatrix`
   * :js:meth:`~IModel.getNodeMeshData`
   * :js:meth:`~IModel.getNodeName`
   * :js:meth:`~IModel.getNodeNetMatrix`
   * :js:meth:`~IModel.getNodeParent`
   * :js:meth:`~IModel.getNodePointColor`
   * :js:meth:`~IModel.getNodePointHighlighted`
   * :js:meth:`~IModel.getNodeProperties`
   * :js:meth:`~IModel.getNodeRealBounding`
   * :js:meth:`~IModel.getNodesAmbientColor`
   * :js:meth:`~IModel.getNodesBounding`
   * :js:meth:`~IModel.getNodesByGenericType`
   * :js:meth:`~IModel.getNodesCappingMeshData`
   * :js:meth:`~IModel.getNodesCullingVectors`
   * :js:meth:`~IModel.getNodesDrawMode`
   * :js:meth:`~IModel.getNodesEffectiveAmbientColor`
   * :js:meth:`~IModel.getNodesEffectiveEmissiveColor`
   * :js:meth:`~IModel.getNodesEffectiveFaceColor`
   * :js:meth:`~IModel.getNodesEffectiveLineColor`
   * :js:meth:`~IModel.getNodesEffectiveOpacity`
   * :js:meth:`~IModel.getNodesEffectivePointColor`
   * :js:meth:`~IModel.getNodesEffectiveSpecularColor`
   * :js:meth:`~IModel.getNodesFaceColor`
   * :js:meth:`~IModel.getNodesFaceEmissiveColor`
   * :js:meth:`~IModel.getNodesFaceSpecularColor`
   * :js:meth:`~IModel.getNodesFromFiltersId`
   * :js:meth:`~IModel.getNodesFromLayer`
   * :js:meth:`~IModel.getNodesFromLayerName`
   * :js:meth:`~IModel.getNodesFromLayers`
   * :js:meth:`~IModel.getNodesHaveTransparency`
   * :js:meth:`~IModel.getNodesHighlighted`
   * :js:meth:`~IModel.getNodesInstancingSamePart`
   * :js:meth:`~IModel.getNodesLineColor`
   * :js:meth:`~IModel.getNodesMaterial`
   * :js:meth:`~IModel.getNodesOpacity`
   * :js:meth:`~IModel.getNodesPointColor`
   * :js:meth:`~IModel.getNodeType`
   * :js:meth:`~IModel.getNodeUnitMultiplier`
   * :js:meth:`~IModel.getNodeUserData`
   * :js:meth:`~IModel.getNodeUserDataIndices`
   * :js:meth:`~IModel.getNodeVisibility`
   * :js:meth:`~IModel.getOutOfHierarchy`
   * :js:meth:`~IModel.getPmiColor`
   * :js:meth:`~IModel.getPmiColorOverride`
   * :js:meth:`~IModel.getPmis`
   * :js:meth:`~IModel.getPmiSubtype`
   * :js:meth:`~IModel.getPmiTopologyReferences`
   * :js:meth:`~IModel.getPmiType`
   * :js:meth:`~IModel.getPointAttributes`
   * :js:meth:`~IModel.getRelationshipTypesFromBimId`
   * :js:meth:`~IModel.getScInstanceKey`
   * :js:meth:`~IModel.getUniqueLayerNames`
   * :js:meth:`~IModel.getViewAxes`
   * :js:meth:`~IModel.getVisibilityState`
   * :js:meth:`~IModel.hasDepthRange`
   * :js:meth:`~IModel.hasEffectiveGenericType`
   * :js:meth:`~IModel.isAnnotationView`
   * :js:meth:`~IModel.isCombineStateView`
   * :js:meth:`~IModel.isDrawing`
   * :js:meth:`~IModel.isFaceMeasurable`
   * :js:meth:`~IModel.isLineMeasurable`
   * :js:meth:`~IModel.isMeasurable`
   * :js:meth:`~IModel.isNodeLoaded`
   * :js:meth:`~IModel.isWithinExternalModel`
   * :js:meth:`~IModel.loadMeasurementFromFile`
   * :js:meth:`~IModel.loadMeasurementFromJson`
   * :js:meth:`~IModel.loadMeasurementFromString`
   * :js:meth:`~IModel.loadSubtreeFromModel`
   * :js:meth:`~IModel.loadSubtreeFromScsBuffer`
   * :js:meth:`~IModel.loadSubtreeFromScsFile`
   * :js:meth:`~IModel.loadSubtreeFromScsXmlBuffer`
   * :js:meth:`~IModel.loadSubtreeFromScsXmlFile`
   * :js:meth:`~IModel.loadSubtreeFromXmlBuffer`
   * :js:meth:`~IModel.loadSubtreeFromXmlFile`
   * :js:meth:`~IModel.registerBimNodes`
   * :js:meth:`~IModel.registerIfcNodes`
   * :js:meth:`~IModel.replaceMesh`
   * :js:meth:`~IModel.requestNodes`
   * :js:meth:`~IModel.reset`
   * :js:meth:`~IModel.resetModelHighlight`
   * :js:meth:`~IModel.resetModelOpacity`
   * :js:meth:`~IModel.resetNodeMatrixToInitial`
   * :js:meth:`~IModel.resetNodesColor`
   * :js:meth:`~IModel.resetNodesMaterial`
   * :js:meth:`~IModel.resetNodesOpacity`
   * :js:meth:`~IModel.resetNodesTransform`
   * :js:meth:`~IModel.resetNodesVisibility`
   * :js:meth:`~IModel.setBehaviorInitiallyHidden`
   * :js:meth:`~IModel.setBodyNodesVisibility`
   * :js:meth:`~IModel.setDepthRange`
   * :js:meth:`~IModel.setEdgeProperty`
   * :js:meth:`~IModel.setEnableAutomaticUnitScaling`
   * :js:meth:`~IModel.setFaceProperty`
   * :js:meth:`~IModel.setInstanceModifier`
   * :js:meth:`~IModel.setMeshLevel`
   * :js:meth:`~IModel.setMetallicRoughness`
   * :js:meth:`~IModel.setNodeFaceColor`
   * :js:meth:`~IModel.setNodeFaceHighlighted`
   * :js:meth:`~IModel.setNodeFaceVisibility`
   * :js:meth:`~IModel.setNodeLineColor`
   * :js:meth:`~IModel.setNodeLineHighlighted`
   * :js:meth:`~IModel.setNodeLineVisibility`
   * :js:meth:`~IModel.setNodeMatrix`
   * :js:meth:`~IModel.setNodePointColor`
   * :js:meth:`~IModel.setNodePointHighlighted`
   * :js:meth:`~IModel.setNodePointVisibility`
   * :js:meth:`~IModel.setNodesAmbientColor`
   * :js:meth:`~IModel.setNodesAmbientMix`
   * :js:meth:`~IModel.setNodesColors`
   * :js:meth:`~IModel.setNodesCullingVector`
   * :js:meth:`~IModel.setNodesDrawModes`
   * :js:meth:`~IModel.setNodesFaceColor`
   * :js:meth:`~IModel.setNodesFaceEmissiveColor`
   * :js:meth:`~IModel.setNodesFaceSpecularColor`
   * :js:meth:`~IModel.setNodesFaceSpecularIntensity`
   * :js:meth:`~IModel.setNodesHighlighted`
   * :js:meth:`~IModel.setNodesLineColor`
   * :js:meth:`~IModel.setNodesLinePattern`
   * :js:meth:`~IModel.setNodesMaterial`
   * :js:meth:`~IModel.setNodesOpacities`
   * :js:meth:`~IModel.setNodesOpacity`
   * :js:meth:`~IModel.setNodesPointColor`
   * :js:meth:`~IModel.setNodesTexture`
   * :js:meth:`~IModel.setNodesVisibilities`
   * :js:meth:`~IModel.setNodesVisibility`
   * :js:meth:`~IModel.setPart`
   * :js:meth:`~IModel.setPhysicalProperties`
   * :js:meth:`~IModel.setPmiColor`
   * :js:meth:`~IModel.setPmiColorOverride`
   * :js:meth:`~IModel.setViewAxes`
   * :js:meth:`~IModel.switchToModel`
   * :js:meth:`~IModel.triangulatePolygon`
   * :js:meth:`~IModel.unsetDepthRange`
   * :js:meth:`~IModel.unsetMetallicRoughness`
   * :js:meth:`~IModel.unsetNodeFaceColor`
   * :js:meth:`~IModel.unsetNodeLineColor`
   * :js:meth:`~IModel.unsetNodePointColor`
   * :js:meth:`~IModel.unsetNodesAmbientColor`
   * :js:meth:`~IModel.unsetNodesCullingVectors`
   * :js:meth:`~IModel.unsetNodesFaceColor`
   * :js:meth:`~IModel.unsetNodesFaceEmissiveColor`
   * :js:meth:`~IModel.unsetNodesFaceSpecularColor`
   * :js:meth:`~IModel.unsetNodesFaceSpecularIntensity`
   * :js:meth:`~IModel.unsetNodesLineColor`
   * :js:meth:`~IModel.unsetNodesLinePattern`
   * :js:meth:`~IModel.unsetNodesPointColor`
   * :js:meth:`~IModel.unsetNodesTexture`
   * :js:meth:`~IModel.viewAxesHaveBeenSet`
   
   




Methods
=======

.. js:method:: IModel._allowNodeDeletion

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



.. js:method:: IModel._firstAssemblyDataHeader

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



.. js:method:: IModel._gatherInstanceIncsFromNodeIds

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



.. js:method:: IModel._getModelStructure

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



.. js:method:: IModel._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:: IModel._hwfAwaitAssemblyTreeReady

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



.. js:method:: IModel._preventMeshDeletion

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



.. js:method:: IModel._preventNodeDeletion

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



.. js:method:: IModel._setDefaultView

   .. rst-class:: sig-pretty-signature
   
      | _setDefaultView(**view**\ : :js:class:`~IView`\ ): *void*
   
   **Parameters**
   
      **view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel._setInstanceModifier

   .. rst-class:: sig-pretty-signature
   
      | _setInstanceModifier(**instanceModifier**\ : :js:data:`~InstanceModifier`\ , **nodeIds**\ : *number*\ [], **value**\ : *boolean*\ , **allowedTypes**\ : *BodyTypeBits*\ ): *void*
   
   **Parameters**
   
      **instanceModifier**\ : :js:data:`~InstanceModifier`
   
      **nodeIds**\ : *number*\ []
   
      **value**\ : *boolean*
   
      **allowedTypes**\ : *BodyTypeBits*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel._setModelStructure

   .. rst-class:: sig-pretty-signature
   
      | _setModelStructure(**modelStructure**\ : :js:class:`~IModelStructure`\ ): *void*
   
   **Parameters**
   
      **modelStructure**\ : :js:class:`~IModelStructure`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel._setNodesMatrices

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



.. js:method:: IModel.activateCadConfiguration

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



.. js:method:: IModel.activateCadView

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



.. js:method:: IModel.activateDefaultCadConfiguration

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



.. js:method:: IModel.activateDefaultCadView

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



.. js:method:: IModel.addPropertyToNode

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



.. js:method:: IModel.cadConfigurationsEnabled

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



.. js:method:: IModel.clear

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



.. js:method:: IModel.clearNodeFaceVisibility

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



.. js:method:: IModel.clearNodeLineVisibility

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



.. js:method:: IModel.clearNodePointVisibility

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



.. js:method:: IModel.computeMinimumBodyBodyDistance

   .. rst-class:: sig-pretty-signature
   
      | computeMinimumBodyBodyDistance(**partId1**\ : *number*\ , **partId2**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **partId1**\ : *number*
   
      **partId2**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.computeMinimumFaceFaceDistance

   .. rst-class:: sig-pretty-signature
   
      | computeMinimumFaceFaceDistance(**partId1**\ : *number*\ , **faceId1**\ : *number*\ , **partId2**\ : *number*\ , **faceId2**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **partId1**\ : *number*
   
      **faceId1**\ : *number*
   
      **partId2**\ : *number*
   
      **faceId2**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.computeMinimumFaceLineDistance

   .. rst-class:: sig-pretty-signature
   
      | computeMinimumFaceLineDistance(**partId**\ : *number*\ , **faceId**\ : *number*\ , **ray**\ : :js:class:`~Ray`\ ): *Promise*
   
   **Parameters**
   
      **partId**\ : *number*
   
      **faceId**\ : *number*
   
      **ray**\ : :js:class:`~Ray`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.computeMinimumFaceRayDistance

   .. rst-class:: sig-pretty-signature
   
      | computeMinimumFaceRayDistance(**partId**\ : *number*\ , **faceId**\ : *number*\ , **ray**\ : :js:class:`~Ray`\ ): *Promise*
   
   **Parameters**
   
      **partId**\ : *number*
   
      **faceId**\ : *number*
   
      **ray**\ : :js:class:`~Ray`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.createAndAddRepresentationItem

   .. rst-class:: sig-pretty-signature
   
      | createAndAddRepresentationItem(**partNodeId**\ : (*undefined* \| *None* \| *number*\ ), **repItemId**\ : (*None* \| *number*\ )): (*None* \| *number*\ )
   
   **Parameters**
   
      **partNodeId**\ : (*undefined* \| *None* \| *number*\ )
   
      **repItemId**\ : (*None* \| *number*\ )
   
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModel.createCadView

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



.. js:method:: IModel.createImage

   .. rst-class:: sig-pretty-signature
   
      | createImage(**primaryImage**\ : :js:class:`~ImageOptions`\ , **thumbnailImage**\ : :js:class:`~ImageOptions`\ ): *Promise*
   
   **Parameters**
   
      **primaryImage**\ : :js:class:`~ImageOptions`
   
      **thumbnailImage**\ : :js:class:`~ImageOptions`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.createMesh

   .. rst-class:: sig-pretty-signature
   
      | createMesh(**meshData**\ : :js:class:`~MeshData`\ , **config**\ : { doNotDelete: *boolean* }): *Promise*
   
   **Parameters**
   
      **meshData**\ : :js:class:`~MeshData`
   
      **config**\ : { doNotDelete: *boolean* }
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.createMeshInstance

   .. rst-class:: sig-pretty-signature
   
      | createMeshInstance(**data**\ : :js:class:`~MeshInstanceData`\ , **parentNodeId**\ : (*None* \| *number*\ ), **preventFromResetting**\ : (*None* \| *boolean*\ ), **isOutOfHierarchy**\ : (*None* \| *boolean*\ )): *Promise*
   
   **Parameters**
   
      **data**\ : :js:class:`~MeshInstanceData`
   
      **parentNodeId**\ : (*None* \| *number*\ )
   
      **preventFromResetting**\ : (*None* \| *boolean*\ )
   
      **isOutOfHierarchy**\ : (*None* \| *boolean*\ )
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.createNode

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



.. js:method:: IModel.createPart

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



.. js:method:: IModel.createPmiInstance

   .. rst-class:: sig-pretty-signature
   
      | createPmiInstance(**data**\ : :js:class:`~MeshInstanceData`\ , **pmiType**\ : :js:data:`~PmiType`\ , **pmiSubType**\ : :js:data:`~PmiSubType`\ , **refOnTopoItems**\ : :js:class:`~RefOnTopoItem`\ [], **parentNodeId**\ : (*None* \| *number*\ )): *Promise*
   
   **Parameters**
   
      **data**\ : :js:class:`~MeshInstanceData`
   
      **pmiType**\ : :js:data:`~PmiType`
   
      **pmiSubType**\ : :js:data:`~PmiSubType`
   
      **refOnTopoItems**\ : :js:class:`~RefOnTopoItem`\ []
   
      **parentNodeId**\ : (*None* \| *number*\ )
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.deleteImages

   .. rst-class:: sig-pretty-signature
   
      | deleteImages(**imageIds**\ : :js:data:`~ImageId`\ []): *Promise*
   
   **Parameters**
   
      **imageIds**\ : :js:data:`~ImageId`\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.deleteMeshes

   .. rst-class:: sig-pretty-signature
   
      | deleteMeshes(**ids**\ : :js:data:`MeshId <Sc.MeshId>`\ []): *Promise*
   
   **Parameters**
   
      **ids**\ : :js:data:`MeshId <Sc.MeshId>`\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.deleteMeshInstances

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



.. js:method:: IModel.deleteNode

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



.. js:method:: IModel.getAbsoluteRootNode

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



.. js:method:: IModel.getActiveCadConfiguration

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



.. js:method:: IModel.getAssociatedModelKey

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



.. js:method:: IModel.getBimIdConnectedElements

   .. rst-class:: sig-pretty-signature
   
      | getBimIdConnectedElements(**node**\ : *number*\ , **bimId**\ : *string*\ , **type**\ : :js:data:`~RelationshipType`\ ): { relateds: *string*\ [], relatings: *string*\ [] }
   
   **Parameters**
   
      **node**\ : *number*
   
      **bimId**\ : *string*
   
      **type**\ : :js:data:`~RelationshipType`
   
   
   **Returns**\ : { relateds: *string*\ [], relatings: *string*\ [] }
   



.. js:method:: IModel.getBimIdFromNode

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



.. js:method:: IModel.getBimIdRelatedElements

   .. rst-class:: sig-pretty-signature
   
      | getBimIdRelatedElements(**node**\ : *number*\ , **bimId**\ : *string*\ , **type**\ : :js:data:`~RelationshipType`\ ): *string*\ []
   
   **Parameters**
   
      **node**\ : *number*
   
      **bimId**\ : *string*
   
      **type**\ : :js:data:`~RelationshipType`
   
   
   **Returns**\ : *string*\ []
   



.. js:method:: IModel.getBimIdRelatingElements

   .. rst-class:: sig-pretty-signature
   
      | getBimIdRelatingElements(**node**\ : *number*\ , **bimId**\ : *string*\ , **type**\ : :js:data:`~RelationshipType`\ ): *string*\ []
   
   **Parameters**
   
      **node**\ : *number*
   
      **bimId**\ : *string*
   
      **type**\ : :js:data:`~RelationshipType`
   
   
   **Returns**\ : *string*\ []
   



.. js:method:: IModel.getBimIdsFromGenericId

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



.. js:method:: IModel.getBimInfoFromBimId

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



.. js:method:: IModel.getBranchVisibility

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



.. js:method:: IModel.getCadConfigurations

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



.. js:method:: IModel.getCadViewConfiguration

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



.. js:method:: IModel.getCadViewMap

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



.. js:method:: IModel.getCadViewPmis

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



.. js:method:: IModel.getDataFromIds

   .. rst-class:: sig-pretty-signature
   
      | getDataFromIds(**ids**\ : :js:data:`DataIds <Sc.DataIds>`\ ): *Promise*
   
   **Parameters**
   
      **ids**\ : :js:data:`DataIds <Sc.DataIds>`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getDefaultCadConfiguration

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



.. js:method:: IModel.getDefaultCadView

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



.. js:method:: IModel.getEdgeAttributes

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



.. js:method:: IModel.getEdgeCount

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



.. js:method:: IModel.getEdgeProperty

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



.. js:method:: IModel.getFaceAttributes

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



.. js:method:: IModel.getFaceCount

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



.. js:method:: IModel.getFaceProperty

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



.. js:method:: IModel.getFilterName

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



.. js:method:: IModel.getFilters

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



.. js:method:: IModel.getFiltersWithNode

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



.. js:method:: IModel.getGenericIdFromBimId

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



.. js:method:: IModel.getGenericTypeIdMap

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



.. js:method:: IModel.getGenericTypes

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



.. js:method:: IModel.getLayerIdsFromName

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



.. js:method:: IModel.getLayerName

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



.. js:method:: IModel.getLayers

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



.. js:method:: IModel.getLooseBounding

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



.. js:method:: IModel.getLowestAvailableNodeId

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



.. js:method:: IModel.getMeshIds

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



.. js:method:: IModel.getMetallicRoughness

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



.. js:method:: IModel.getModelBounding

   .. rst-class:: sig-pretty-signature
   
      | getModelBounding(**ignoreInvisible**\ : *boolean*\ , **includeExcluded**\ : *boolean*\ , **tightBounding**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **ignoreInvisible**\ : *boolean*
   
      **includeExcluded**\ : *boolean*
   
      **tightBounding**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getModelFileNameFromNode

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



.. js:method:: IModel.getModelFileTypeFromNode

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



.. js:method:: IModel.getNodeCappingMeshData

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



.. js:method:: IModel.getNodeChildren

   .. rst-class:: sig-pretty-signature
   
      | getNodeChildren(**id**\ : *number*\ , **all**\ : *boolean*\ ): *number*\ []
   
   **Parameters**
   
      **id**\ : *number*
   
      **all**\ : *boolean*
   
   
   **Returns**\ : *number*\ []
   



.. js:method:: IModel.getNodeColorMap

   .. rst-class:: sig-pretty-signature
   
      | getNodeColorMap(**id**\ : *number*\ , **elementType**\ : :js:data:`~ElementType`\ ): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **elementType**\ : :js:data:`~ElementType`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodeEffectiveFaceColor

   .. rst-class:: sig-pretty-signature
   
      | getNodeEffectiveFaceColor(**id**\ : *number*\ , **faceIndex**\ : *number*\ , **view**\ : :js:class:`~IView`\ ): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **faceIndex**\ : *number*
   
      **view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodeEffectiveLineColor

   .. rst-class:: sig-pretty-signature
   
      | getNodeEffectiveLineColor(**id**\ : *number*\ , **lineIndex**\ : *number*\ , **view**\ : :js:class:`~IView`\ ): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **lineIndex**\ : *number*
   
      **view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodeEffectivePointColor

   .. rst-class:: sig-pretty-signature
   
      | getNodeEffectivePointColor(**id**\ : *number*\ , **pointIndex**\ : *number*\ , **view**\ : :js:class:`~IView`\ ): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **pointIndex**\ : *number*
   
      **view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodeExchangeId

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



.. js:method:: IModel.getNodeFaceColor

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



.. js:method:: IModel.getNodeFaceHighlighted

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



.. js:method:: IModel.getNodeGenericId

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



.. js:method:: IModel.getNodeGenericType

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



.. js:method:: IModel.getNodeIdFromBimId

   .. rst-class:: sig-pretty-signature
   
      | getNodeIdFromBimId(**node**\ : *number*\ , **bimID**\ : *string*\ ): (*None* \| *number*\ )
   
   **Parameters**
   
      **node**\ : *number*
   
      **bimID**\ : *string*
   
   
   **Returns**\ : (*None* \| *number*\ )
   



.. js:method:: IModel.getNodeIdFromScInstanceKey

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



.. js:method:: IModel.getNodeIdOffset

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



.. js:method:: IModel.getNodeIdsByGenericIds

   .. rst-class:: sig-pretty-signature
   
      | getNodeIdsByGenericIds(**genericIds**\ : *string*\ []): *number*\ []
   
   **Parameters**
   
      **genericIds**\ : *string*\ []
   
   
   **Returns**\ : *number*\ []
   



.. js:method:: IModel.getNodeLayerId

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



.. js:method:: IModel.getNodeLineColor

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



.. js:method:: IModel.getNodeLineHighlighted

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



.. js:method:: IModel.getNodeMatrix

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



.. js:method:: IModel.getNodeMeshData

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



.. js:method:: IModel.getNodeName

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



.. js:method:: IModel.getNodeNetMatrix

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



.. js:method:: IModel.getNodeParent

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



.. js:method:: IModel.getNodePointColor

   .. rst-class:: sig-pretty-signature
   
      | getNodePointColor(**id**\ : *number*\ , **pointIndex**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **pointIndex**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodePointHighlighted

   .. rst-class:: sig-pretty-signature
   
      | getNodePointHighlighted(**id**\ : *number*\ , **pointIndex**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **pointIndex**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodeProperties

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



.. js:method:: IModel.getNodeRealBounding

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



.. js:method:: IModel.getNodesAmbientColor

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



.. js:method:: IModel.getNodesBounding

   .. rst-class:: sig-pretty-signature
   
      | getNodesBounding(**ids**\ : *number*\ [], **config**\ : :js:class:`~GetNodesBoundingConfig`\ ): *Promise*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **config**\ : :js:class:`~GetNodesBoundingConfig`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodesByGenericType

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



.. js:method:: IModel.getNodesCappingMeshData

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



.. js:method:: IModel.getNodesCullingVectors

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



.. js:method:: IModel.getNodesDrawMode

   .. rst-class:: sig-pretty-signature
   
      | getNodesDrawMode(**nodeIds**\ : *number*\ []): *Record*
   
   Get overridden draw mode for the given node ids. Only leaf nodes attached to a body are considered. Other wont be in the returned record.
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
         The node ids to get the draw mode from.
   
   
   
   **Returns**\ : *Record*
   
      A record mapping node ids to their overridden draw modes.
   
   



.. js:method:: IModel.getNodesEffectiveAmbientColor

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



.. js:method:: IModel.getNodesEffectiveEmissiveColor

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



.. js:method:: IModel.getNodesEffectiveFaceColor

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



.. js:method:: IModel.getNodesEffectiveLineColor

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



.. js:method:: IModel.getNodesEffectiveOpacity

   .. rst-class:: sig-pretty-signature
   
      | getNodesEffectiveOpacity(**ids**\ : *number*\ [], **elementType**\ : :js:data:`~ElementType`\ ): *Promise*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **elementType**\ : :js:data:`~ElementType`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.getNodesEffectivePointColor

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



.. js:method:: IModel.getNodesEffectiveSpecularColor

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



.. js:method:: IModel.getNodesFaceColor

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



.. js:method:: IModel.getNodesFaceEmissiveColor

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



.. js:method:: IModel.getNodesFaceSpecularColor

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



.. js:method:: IModel.getNodesFromFiltersId

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



.. js:method:: IModel.getNodesFromLayer

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



.. js:method:: IModel.getNodesFromLayerName

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



.. js:method:: IModel.getNodesFromLayers

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



.. js:method:: IModel.getNodesHaveTransparency

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



.. js:method:: IModel.getNodesHighlighted

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



.. js:method:: IModel.getNodesInstancingSamePart

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



.. js:method:: IModel.getNodesLineColor

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



.. js:method:: IModel.getNodesMaterial

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



.. js:method:: IModel.getNodesOpacity

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



.. js:method:: IModel.getNodesPointColor

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



.. js:method:: IModel.getNodeType

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



.. js:method:: IModel.getNodeUnitMultiplier

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



.. js:method:: IModel.getNodeUserData

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



.. js:method:: IModel.getNodeUserDataIndices

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



.. js:method:: IModel.getNodeVisibility

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



.. js:method:: IModel.getOutOfHierarchy

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



.. js:method:: IModel.getPmiColor

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



.. js:method:: IModel.getPmiColorOverride

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



.. js:method:: IModel.getPmis

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



.. js:method:: IModel.getPmiSubtype

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



.. js:method:: IModel.getPmiTopologyReferences

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



.. js:method:: IModel.getPmiType

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



.. js:method:: IModel.getPointAttributes

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



.. js:method:: IModel.getRelationshipTypesFromBimId

   .. rst-class:: sig-pretty-signature
   
      | getRelationshipTypesFromBimId(**node**\ : *number*\ , **bimId**\ : *string*\ ): :js:data:`~RelationshipType`\ []
   
   **Parameters**
   
      **node**\ : *number*
   
      **bimId**\ : *string*
   
   
   **Returns**\ : :js:data:`~RelationshipType`\ []
   



.. js:method:: IModel.getScInstanceKey

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



.. js:method:: IModel.getUniqueLayerNames

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



.. js:method:: IModel.getViewAxes

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



.. js:method:: IModel.getVisibilityState

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



.. js:method:: IModel.hasDepthRange

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



.. js:method:: IModel.hasEffectiveGenericType

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



.. js:method:: IModel.isAnnotationView

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



.. js:method:: IModel.isCombineStateView

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



.. js:method:: IModel.isDrawing

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



.. js:method:: IModel.isFaceMeasurable

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



.. js:method:: IModel.isLineMeasurable

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



.. js:method:: IModel.isMeasurable

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



.. js:method:: IModel.isNodeLoaded

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



.. js:method:: IModel.isWithinExternalModel

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



.. js:method:: IModel.loadMeasurementFromFile

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



.. js:method:: IModel.loadMeasurementFromJson

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



.. js:method:: IModel.loadMeasurementFromString

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



.. js:method:: IModel.loadSubtreeFromModel

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromModel(**nodeId**\ : *number*\ , **modelName**\ : *string*\ , **args**\ : *any*\ []): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **modelName**\ : *string*
   
      **args**\ : *any*\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.loadSubtreeFromScsBuffer

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromScsBuffer(**nodeId**\ : *number*\ , **buffer**\ : :js:data:`ScsBuffer <Sc.ScsBuffer>`\ , **args**\ : *any*\ []): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **buffer**\ : :js:data:`ScsBuffer <Sc.ScsBuffer>`
   
      **args**\ : *any*\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.loadSubtreeFromScsFile

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromScsFile(**nodeId**\ : *number*\ , **scsFilename**\ : *string*\ , **args**\ : *any*\ []): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **scsFilename**\ : *string*
   
      **args**\ : *any*\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.loadSubtreeFromScsXmlBuffer

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromScsXmlBuffer(**nodeId**\ : *number*\ , **xmlData**\ : (*string* \| *Document*\ ), **modelNameToScs**\ : (*None* \| :js:data:`~ModelNameToScsFileFunc`\ ), **args**\ : *any*\ []): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **xmlData**\ : (*string* \| *Document*\ )
   
      **modelNameToScs**\ : (*None* \| :js:data:`~ModelNameToScsFileFunc`\ )
   
      **args**\ : *any*\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.loadSubtreeFromScsXmlFile

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



.. js:method:: IModel.loadSubtreeFromXmlBuffer

   .. rst-class:: sig-pretty-signature
   
      | loadSubtreeFromXmlBuffer(**nodeId**\ : *number*\ , **xmlData**\ : (*string* \| *Document*\ ), **massageModelName**\ : (*None* \| :js:data:`~MassageModelNameFunc`\ ), **args**\ : *any*\ []): *Promise*
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **xmlData**\ : (*string* \| *Document*\ )
   
      **massageModelName**\ : (*None* \| :js:data:`~MassageModelNameFunc`\ )
   
      **args**\ : *any*\ []
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.loadSubtreeFromXmlFile

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



.. js:method:: IModel.registerBimNodes

   .. rst-class:: sig-pretty-signature
   
      | registerBimNodes(**id**\ : *number*\ , **attributeToMask**\ : (**value**\ : *string*\ ) => :js:data:`BimMask <Sc.BimMask>`\ , **legacy_useAttributeTitle**\ : (*None* \| *string* \| *boolean*\ )): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **attributeToMask**\ : (**value**\ : *string*\ ) => :js:data:`BimMask <Sc.BimMask>`
   
      **legacy_useAttributeTitle**\ : (*None* \| *string* \| *boolean*\ )
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.registerIfcNodes

   .. rst-class:: sig-pretty-signature
   
      | registerIfcNodes(**id**\ : *number*\ , **legacy_useAttributeTitle**\ : (*None* \| *string* \| *boolean*\ )): *Promise*
   
   **Parameters**
   
      **id**\ : *number*
   
      **legacy_useAttributeTitle**\ : (*None* \| *string* \| *boolean*\ )
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.replaceMesh

   .. rst-class:: sig-pretty-signature
   
      | replaceMesh(**id**\ : :js:data:`MeshId <Sc.MeshId>`\ , **data**\ : :js:class:`~MeshData`\ ): *Promise*
   
   **Parameters**
   
      **id**\ : :js:data:`MeshId <Sc.MeshId>`
   
      **data**\ : :js:class:`~MeshData`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.requestNodes

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



.. js:method:: IModel.reset

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



.. js:method:: IModel.resetModelHighlight

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



.. js:method:: IModel.resetModelOpacity

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



.. js:method:: IModel.resetNodeMatrixToInitial

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



.. js:method:: IModel.resetNodesColor

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



.. js:method:: IModel.resetNodesMaterial

   .. rst-class:: sig-pretty-signature
   
      | resetNodesMaterial(**nodeIds**\ : *number*\ [], **params**\ : keyof :js:class:`~IMaterial`\ []): *void*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **params**\ : keyof :js:class:`~IMaterial`\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.resetNodesOpacity

   .. rst-class:: sig-pretty-signature
   
      | resetNodesOpacity(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.resetNodesTransform

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



.. js:method:: IModel.resetNodesVisibility

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



.. js:method:: IModel.setBehaviorInitiallyHidden

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



.. js:method:: IModel.setBodyNodesVisibility

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



.. js:method:: IModel.setDepthRange

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



.. js:method:: IModel.setEdgeProperty

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



.. js:method:: IModel.setEnableAutomaticUnitScaling

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



.. js:method:: IModel.setFaceProperty

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



.. js:method:: IModel.setInstanceModifier

   .. rst-class:: sig-pretty-signature
   
      | setInstanceModifier(**instanceModifier**\ : :js:data:`~InstanceModifier`\ , **nodeIds**\ : *number*\ [], **value**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **instanceModifier**\ : :js:data:`~InstanceModifier`
   
      **nodeIds**\ : *number*\ []
   
      **value**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.setMeshLevel

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



.. js:method:: IModel.setMetallicRoughness

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



.. js:method:: IModel.setNodeFaceColor

   .. rst-class:: sig-pretty-signature
   
      | setNodeFaceColor(**id**\ : *number*\ , **faceId**\ : *number*\ , **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **faceId**\ : *number*
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodeFaceHighlighted

   .. rst-class:: sig-pretty-signature
   
      | setNodeFaceHighlighted(**id**\ : *number*\ , **faceId**\ : *number*\ , **highlighted**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **faceId**\ : *number*
   
      **highlighted**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodeFaceVisibility

   .. rst-class:: sig-pretty-signature
   
      | setNodeFaceVisibility(**id**\ : *number*\ , **faceId**\ : *number*\ , **visibility**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **faceId**\ : *number*
   
      **visibility**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodeLineColor

   .. rst-class:: sig-pretty-signature
   
      | setNodeLineColor(**id**\ : *number*\ , **lineId**\ : *number*\ , **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **lineId**\ : *number*
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodeLineHighlighted

   .. rst-class:: sig-pretty-signature
   
      | setNodeLineHighlighted(**id**\ : *number*\ , **lineId**\ : *number*\ , **highlighted**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **lineId**\ : *number*
   
      **highlighted**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodeLineVisibility

   .. rst-class:: sig-pretty-signature
   
      | setNodeLineVisibility(**id**\ : *number*\ , **lineId**\ : *number*\ , **visibility**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **lineId**\ : *number*
   
      **visibility**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodeMatrix

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



.. js:method:: IModel.setNodePointColor

   .. rst-class:: sig-pretty-signature
   
      | setNodePointColor(**id**\ : *number*\ , **pointId**\ : *number*\ , **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **pointId**\ : *number*
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodePointHighlighted

   .. rst-class:: sig-pretty-signature
   
      | setNodePointHighlighted(**id**\ : *number*\ , **pointId**\ : *number*\ , **highlighted**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **pointId**\ : *number*
   
      **highlighted**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodePointVisibility

   .. rst-class:: sig-pretty-signature
   
      | setNodePointVisibility(**id**\ : *number*\ , **pointId**\ : *number*\ , **visibility**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **pointId**\ : *number*
   
      **visibility**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesAmbientColor

   .. rst-class:: sig-pretty-signature
   
      | setNodesAmbientColor(**ids**\ : *number*\ [], **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesAmbientMix

   .. rst-class:: sig-pretty-signature
   
      | setNodesAmbientMix(**ids**\ : *number*\ [], **value**\ : *number*\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesColors

   .. rst-class:: sig-pretty-signature
   
      | setNodesColors(**colorMap**\ : (*Map* \| :js:class:`~IdColorMap`\ ), **alsoApplyToWireframe**\ : *boolean*\ , **alsoApplyToPoints**\ : *boolean*\ ): *Promise*
   
   **Parameters**
   
      **colorMap**\ : (*Map* \| :js:class:`~IdColorMap`\ )
   
      **alsoApplyToWireframe**\ : *boolean*
   
      **alsoApplyToPoints**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.setNodesCullingVector

   .. rst-class:: sig-pretty-signature
   
      | setNodesCullingVector(**nodeIds**\ : *number*\ [], **space**\ : :js:data:`~CullingVectorSpace`\ , **vector**\ : :js:class:`~Point3`\ , **toleranceDegrees**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **space**\ : :js:data:`~CullingVectorSpace`
   
      **vector**\ : :js:class:`~Point3`
   
      **toleranceDegrees**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.setNodesDrawModes

   .. rst-class:: sig-pretty-signature
   
      | setNodesDrawModes(**nodesDrawModes**\ : *Record*\ ): *void*
   
   Set the draw modes for the given node ids. Given nodes will be drawn according to their specified draw modes, overriding draw mode of the view. Only leaf nodes attached to a body can have overriden draw mode. If other nodes are passed, the draw mode will be applied recursively to the children and grand children which are attached to a body.
   
   **Parameters**
   
      **nodesDrawModes**\ : *Record*
   
         A record mapping node ids to their desired draw modes.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesFaceColor

   .. rst-class:: sig-pretty-signature
   
      | setNodesFaceColor(**ids**\ : *number*\ [], **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesFaceEmissiveColor

   .. rst-class:: sig-pretty-signature
   
      | setNodesFaceEmissiveColor(**ids**\ : *number*\ [], **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesFaceSpecularColor

   .. rst-class:: sig-pretty-signature
   
      | setNodesFaceSpecularColor(**ids**\ : *number*\ [], **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesFaceSpecularIntensity

   .. rst-class:: sig-pretty-signature
   
      | setNodesFaceSpecularIntensity(**ids**\ : *number*\ [], **value**\ : *number*\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesHighlighted

   .. rst-class:: sig-pretty-signature
   
      | setNodesHighlighted(**ids**\ : *number*\ [], **highlighted**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **highlighted**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesLineColor

   .. rst-class:: sig-pretty-signature
   
      | setNodesLineColor(**ids**\ : *number*\ [], **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesLinePattern

   .. rst-class:: sig-pretty-signature
   
      | setNodesLinePattern(**nodeIds**\ : *number*\ [], **pattern**\ : :js:data:`~LinePattern`\ , **patternLength**\ : *number*\ , **patternLengthUnit**\ : :js:data:`~LinePatternLengthUnit`\ ): *void*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **pattern**\ : :js:data:`~LinePattern`
   
      **patternLength**\ : *number*
   
      **patternLengthUnit**\ : :js:data:`~LinePatternLengthUnit`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesMaterial

   .. rst-class:: sig-pretty-signature
   
      | setNodesMaterial(**nodeIds**\ : *number*\ [], **material**\ : :js:class:`~IMaterial`\ ): *void*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **material**\ : :js:class:`~IMaterial`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesOpacities

   .. rst-class:: sig-pretty-signature
   
      | setNodesOpacities(**params**\ : (*Map* \| :js:class:`~IdNumberMap`\ )): *void*
   
   **Parameters**
   
      **params**\ : (*Map* \| :js:class:`~IdNumberMap`\ )
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesOpacity

   .. rst-class:: sig-pretty-signature
   
      | setNodesOpacity(**ids**\ : *number*\ [], **opacity**\ : *number*\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **opacity**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesPointColor

   .. rst-class:: sig-pretty-signature
   
      | setNodesPointColor(**ids**\ : *number*\ [], **color**\ : :js:class:`~Color`\ ): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **color**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setNodesTexture

   .. rst-class:: sig-pretty-signature
   
      | setNodesTexture(**nodeIds**\ : *number*\ [], **options**\ : :js:class:`~TextureOptions`\ ): *Promise*
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
      **options**\ : :js:class:`~TextureOptions`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.setNodesVisibilities

   .. rst-class:: sig-pretty-signature
   
      | setNodesVisibilities(**mapping**\ : (*Map* \| :js:class:`~IdBooleanMap`\ ), **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ )): *Promise*
   
   **Parameters**
   
      **mapping**\ : (*Map* \| :js:class:`~IdBooleanMap`\ )
   
      **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ )
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.setNodesVisibility

   .. rst-class:: sig-pretty-signature
   
      | setNodesVisibility(**ids**\ : *number*\ [], **value**\ : *boolean*\ , **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ )): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **value**\ : *boolean*
   
      **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ )
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.setPart

   .. rst-class:: sig-pretty-signature
   
      | setPart(**assemblyNodeId**\ : (*undefined* \| *None* \| *number*\ ), **partNodeId**\ : (*undefined* \| *None* \| *number*\ )): *boolean*
   
   **Parameters**
   
      **assemblyNodeId**\ : (*undefined* \| *None* \| *number*\ )
   
      **partNodeId**\ : (*undefined* \| *None* \| *number*\ )
   
   
   **Returns**\ : *boolean*
   



.. js:method:: IModel.setPhysicalProperties

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



.. js:method:: IModel.setPmiColor

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



.. js:method:: IModel.setPmiColorOverride

   .. rst-class:: sig-pretty-signature
   
      | setPmiColorOverride(**enableOverride**\ : *boolean*\ , **rootId**\ : *number*\ ): *Promise*
   
   **Parameters**
   
      **enableOverride**\ : *boolean*
   
      **rootId**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: IModel.setViewAxes

   .. rst-class:: sig-pretty-signature
   
      | setViewAxes(**frontVector**\ : :js:class:`~Point3`\ , **upVector**\ : :js:class:`~Point3`\ ): *void*
   
   **Parameters**
   
      **frontVector**\ : :js:class:`~Point3`
   
      **upVector**\ : :js:class:`~Point3`
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.switchToModel

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



.. js:method:: IModel.triangulatePolygon

   .. rst-class:: sig-pretty-signature
   
      | triangulatePolygon(**polygonPoints**\ : (*number*\ [] \| *Float32Array*\ ), **normal**\ : :js:class:`~Point3`\ ): *Float32Array*
   
   **Parameters**
   
      **polygonPoints**\ : (*number*\ [] \| *Float32Array*\ )
   
      **normal**\ : :js:class:`~Point3`
   
   
   **Returns**\ : *Float32Array*
   



.. js:method:: IModel.unsetDepthRange

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



.. js:method:: IModel.unsetMetallicRoughness

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



.. js:method:: IModel.unsetNodeFaceColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodeFaceColor(**id**\ : *number*\ , **faceId**\ : *number*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **faceId**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodeLineColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodeLineColor(**id**\ : *number*\ , **lineId**\ : *number*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **lineId**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodePointColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodePointColor(**id**\ : *number*\ , **pointId**\ : *number*\ ): *void*
   
   **Parameters**
   
      **id**\ : *number*
   
      **pointId**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesAmbientColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodesAmbientColor(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesCullingVectors

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



.. js:method:: IModel.unsetNodesFaceColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodesFaceColor(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesFaceEmissiveColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodesFaceEmissiveColor(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesFaceSpecularColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodesFaceSpecularColor(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesFaceSpecularIntensity

   .. rst-class:: sig-pretty-signature
   
      | unsetNodesFaceSpecularIntensity(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesLineColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodesLineColor(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesLinePattern

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



.. js:method:: IModel.unsetNodesPointColor

   .. rst-class:: sig-pretty-signature
   
      | unsetNodesPointColor(**ids**\ : *number*\ []): *void*
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: IModel.unsetNodesTexture

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



.. js:method:: IModel.viewAxesHaveBeenSet

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





