Interface ICamApiVisualisationFactory
Rendering framework entry point: creates view managers, viewports hosted
in caller windows, and the visual objects / mesh builders used to feed
them geometry. Resolved as a singleton via 'Extension.Global.Singletons.ViewPort'.
Assembly: CAMAPI.ViewPort.dll
Syntax
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("48D10F9F-1B03-4441-9828-E56B8E35BBD8")]
public interface ICamApiVisualisationFactory
Methods
CreateGizmo(ICamApiViewManager, ICamApiVisualObject)
Create a move/rotate manipulator (gizmo) in the given manager's scene,
returned as ICamApiGizmo. It also exposes its scene node
(ICamApiVisualObject) via QueryInterface, so it enumerates and removes like
any visual object. Parent as in CreateVisualObject.
Declaration
ICamApiGizmo CreateGizmo(ICamApiViewManager ViewManager, ICamApiVisualObject Parent)
Parameters
Returns
CreateMeshBuilder()
Create an empty mesh builder for bulk geometry construction.
Declaration
ICamApiMeshBuilder CreateMeshBuilder()
Returns
CreateViewManager()
Create a new, empty view manager (its own scene + viewports).
Declaration
ICamApiViewManager CreateViewManager()
Returns
CreateViewPort(ICamApiViewManager, long)
Declaration
ICamApiViewPort CreateViewPort(ICamApiViewManager ViewManager, long ParentWnd)
Parameters
Returns
CreateVisualObject(ICamApiViewManager, ICamApiVisualObject)
Create a renderable visual object (meshes, polylines, hotspots) in the
given manager's scene. Returns its scene node (ICamApiVisualObject); reach
its drawable content and interactivity through QueryInterface
(ICamApiRenderableVO / ICamApiInteractiveVO). Parent may be nil for a
top-level object, or another visual object to group this one beneath it.
Note: Parent is a purely logical grouping used only by the visual-object
iterator (GetVisualObjects). It does NOT nest transforms, visibility or
lifetime: a child keeps its own world-space Transform, is shown/hidden on
its own, and must be removed independently (RemoveVisualObject does not
cascade). Every object is added to the scene at top level regardless.
Declaration
ICamApiVisualObject CreateVisualObject(ICamApiViewManager ViewManager, ICamApiVisualObject Parent)
Parameters
Returns
GetVisualObjects(ICamApiViewManager)
Tree iterator over the visual objects in the given manager's scene.
Declaration
ICamApiVisualObjectIterator GetVisualObjects(ICamApiViewManager ViewManager)
Parameters
Returns
RemoveVisualObject(ICamApiViewManager, ICamApiVisualObject)
Remove a single visual object from the given manager's scene and release
it. Only this object is removed: objects created with it as Parent are
NOT removed (Parent is a logical grouping for enumeration only, see
CreateVisualObject) - remove them explicitly if needed.
Declaration
void RemoveVisualObject(ICamApiViewManager ViewManager, ICamApiVisualObject Obj)
Parameters