3rd Eye Scene C#
3rd Eye Scene C# documentation
Tes::Handlers::Shape3D::PointCloudHandler Class Reference

Shape message handler for point clouds. More...

Inheritance diagram for Tes::Handlers::Shape3D::PointCloudHandler:
Tes::Handlers::ShapeHandler Tes::Runtime::MessageHandler

List of all members.

Public Member Functions

 PointCloudHandler (Runtime.CategoryCheckDelegate categoryCheck, MeshCache meshCache)
 Create the shape handler.
override void Initialise (GameObject root, GameObject serverRoot, MaterialLibrary materials)
 Override.
override void Reset ()
 Clear all current objects and mesh references.
override void PreRender ()
 Ensures mesh objects are finalised.

Protected Member Functions

override GameObject CreateObject ()
 Overridden to not create a mesh filter or renderer for the points root.
override Shapes.Shape CreateSerialisationShape (ShapeComponent shapeComponent)
 Creates a point cloud shape for serialising shapeComponent and its point data.
override Error HandleMessage (CreateMessage msg, PacketBuffer packet, BinaryReader reader)
 Overridden to read information about mesh parts.
override Error HandleMessage (DataMessage msg, PacketBuffer packet, BinaryReader reader)
 Overridden to read optional point cloud indices.
override Error PostHandleMessage (GameObject obj, DestroyMessage msg, PacketBuffer packet, BinaryReader reader)
 Post destroy message: destroy sub-objects.
void RegisterForMesh (PointsComponent points)
 Register points for mesh resolving.
virtual void OnMeshFinalised (MeshCache.MeshDetails meshDetails)
 Mesh resource completion notification.
virtual void OnMeshRemoved (MeshCache.MeshDetails meshDetails)
 Mesh resource removal notification.
virtual void SetMesh (PointsComponent points, MeshCache.MeshDetails meshDetails)
 Set the visuals of <pararef name="points"> to use meshDetails .

Properties

override string Name [get]
 Handler name.
override ushort RoutingID [get]
 ShapeID.PointCloud
override Mesh SolidMesh [get]
 Irrelevant.
override Mesh WireframeMesh [get]
 Irrelevant.
MeshCache MeshCache [get, set]
 Access the MeshCache from which mesh resources are resolved.

Detailed Description

Shape message handler for point clouds.

Whilst very similar to meshes, point cloud shapes do not support referencing an external mesh. The point data are encoded in a series of DataMessages.

Note: objects from the MeshCache can be marked for redefinition. In this case objects maintain the last valid visuals until a new finalisation message arrives.


Constructor & Destructor Documentation

Tes::Handlers::Shape3D::PointCloudHandler::PointCloudHandler ( Runtime.CategoryCheckDelegate  categoryCheck,
MeshCache  meshCache 
) [inline]

Create the shape handler.

Parameters:
categoryCheck
meshCacheThe mesh cache from which to read resources.

Member Function Documentation

override GameObject Tes::Handlers::Shape3D::PointCloudHandler::CreateObject ( ) [inline, protected, virtual]

Overridden to not create a mesh filter or renderer for the points root.

Returns:

Reimplemented from Tes::Handlers::ShapeHandler.

override Shapes.Shape Tes::Handlers::Shape3D::PointCloudHandler::CreateSerialisationShape ( ShapeComponent  shapeComponent) [inline, protected, virtual]

Creates a point cloud shape for serialising shapeComponent and its point data.

Parameters:
shapeComponentThe component to create a shape for.
Returns:
A shape instance suitable for configuring to generate serialisation messages.

Implements Tes::Handlers::ShapeHandler.

override Error Tes::Handlers::Shape3D::PointCloudHandler::HandleMessage ( CreateMessage  msg,
PacketBuffer  packet,
BinaryReader  reader 
) [inline, protected, virtual]

Overridden to read information about mesh parts.

Parameters:
msg
packet
reader
Returns:

Reimplemented from Tes::Handlers::ShapeHandler.

override Error Tes::Handlers::Shape3D::PointCloudHandler::HandleMessage ( DataMessage  msg,
PacketBuffer  packet,
BinaryReader  reader 
) [inline, protected, virtual]

Overridden to read optional point cloud indices.

Parameters:
msgMessage header.
packetData packet.
readerData packet reader.
Returns:

Reimplemented from Tes::Handlers::ShapeHandler.

override void Tes::Handlers::Shape3D::PointCloudHandler::Initialise ( GameObject  root,
GameObject  serverRoot,
MaterialLibrary  materials 
) [inline, virtual]

Override.

Parameters:
root
serverRoot
materials

Reimplemented from Tes::Handlers::ShapeHandler.

virtual void Tes::Handlers::Shape3D::PointCloudHandler::OnMeshFinalised ( MeshCache.MeshDetails  meshDetails) [inline, protected, virtual]

Mesh resource completion notification.

Parameters:
meshDetailsThe mesh(es) finalised.

Links objects waiting on meshDetails to use the associated meshes.

virtual void Tes::Handlers::Shape3D::PointCloudHandler::OnMeshRemoved ( MeshCache.MeshDetails  meshDetails) [inline, protected, virtual]

Mesh resource removal notification.

Parameters:
meshDetailsThe mesh(es) being removed.

Stops referencing the associated mesh objects.

override Error Tes::Handlers::Shape3D::PointCloudHandler::PostHandleMessage ( GameObject  obj,
DestroyMessage  msg,
PacketBuffer  packet,
BinaryReader  reader 
) [inline, protected, virtual]

Post destroy message: destroy sub-objects.

Parameters:
obj
msg
packet
reader
Returns:

Reimplemented from Tes::Handlers::ShapeHandler.

void Tes::Handlers::Shape3D::PointCloudHandler::RegisterForMesh ( PointsComponent  points) [inline, protected]

Register points for mesh resolving.

The mesh is either resolved now, or on mesh finalisation. Note that any limited indexing must be completed before calling this function. That is PointsComponent.Indices must have been resolved.

Parameters:
pointsThe points component.
virtual void Tes::Handlers::Shape3D::PointCloudHandler::SetMesh ( PointsComponent  points,
MeshCache.MeshDetails  meshDetails 
) [inline, protected, virtual]

Set the visuals of <pararef name="points"> to use meshDetails .

Parameters:
pointsThe points object
meshDetailsThe mesh details.

Adds multiple children to points when meshDetails contains multiple mesh objects.


Property Documentation

override ushort Tes::Handlers::Shape3D::PointCloudHandler::RoutingID [get]

ShapeID.PointCloud

Reimplemented from Tes::Runtime::MessageHandler.

override Mesh Tes::Handlers::Shape3D::PointCloudHandler::SolidMesh [get]

Irrelevant.

Each object has its own geometry.

Reimplemented from Tes::Handlers::ShapeHandler.

override Mesh Tes::Handlers::Shape3D::PointCloudHandler::WireframeMesh [get]

Irrelevant.

Each object has its own geometry.

Reimplemented from Tes::Handlers::ShapeHandler.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Enumerations Properties Events