Workspace 6.21.5
MeshModelInstanceBuilder

The MeshModelInstanceBuilder creates a MeshModelInstance; a type of SceneItem used for displaying instances of MeshModelInterfaces in a Scene. The MeshModelInstance has a Model id input, which it uses to uniquely identify the MeshModelInterface dataset that it represents. If multiple MeshModelInstances exist in a Scene with the same ModelId, they represent instances of the same dataset. This allows widgets like the WSGLWidget to cache the model data, making sure Workspace only loads it a single time.

  • Default label: "MeshModelInstance builder"
  • Member of plug-in: Rendering
  • Catalogue path: Scene
Inputs:
Model IDQStringThe ModelId of every MeshModelSource operation in Workspace should be unique. The ModelId is used by MeshModelLibrary operations to catalogue mesh data available to Scenes and other such structures.
MeshModelCSIRO::Mesh::MeshModelInterface

Lazy model updateboolDelay update the MeshModel input until the renderer tries to actually render it.
Node normals stateQStringIf set to a valid Vector3d state representing node normals then expensive 'multi-node-normals' will not be calculated and this state used instead.
EnabledboolWhether or not to display the model in the Scene.
InteractiveboolIf enabled, the MeshModelInstance will be able to be interacted with (selected, moved, rotated etc) via interactive widgets like the WSGLWidget.
Render with depth testboolIf false, depth testing will be turned off, causing the model to be rendered on top of other, depth tested models.
Caching enabledboolIf enabled, downstream rendering operations will cache mesh data associated with this MeshModelInstance in order to improve render performance. This means that even if the mesh data connected to the 'MeshModel' input is updated, this operation will not be invalidated if the downstream renderer is able to find data in the cache associated with this instance's Model ID. This is useful for situations where mesh data frequently changes due to user input, and is frequently re-rendered, such as mesh-sequences used in animation.
Clear cached dataArrayQDateTimeWhen this input is triggered, any cached data associated with this MeshModelInstance's model id will be cleared. Use this to trigger a reload of mesh data when you know it has changed.
NameQString(Optional) A human-readable name for the ModelInstance. Does not need to be unique.
Edge break thresholddoubleControls where hard "seams" appear on the model on edges where two or more elements (faces) on the mesh meet. If the angle between an element's normal and the "angle wighted average normal" is greater than this number (degrees), the edge will be represented as a hard edge. Set to 180 to avoid any edge breaks.
ShaderCSIRO::Rendering::Shader

GlyphersArrayCSIRO::Rendering::GlypherOne or more glyphers can be attached to apply glyphs to each vertex of the MeshModelInstance when it is rendered.
Transform matrixCSIRO::Mesh::TransformMatrixLocal coordinate transform for the MeshModelInstance. Controls its location, orientation and scale relative to its parent transform.
ChildrenArrayCSIRO::Rendering::SceneItem

Scene items that are to be positioned relative to the MeshModelInstance in the final scene.

Outputs:
Mesh model instanceCSIRO::Rendering::TransformAn instance of a MeshModelInterface dataset that can be added to a Scene.
MeshModel sourceCSIRO::Mesh::MeshModelSource