3rd Eye Scene C#
3rd Eye Scene C# documentation
Tes::Net Namespace Reference

Classes

struct  CameraMessage
 A message identifying the properties of a camera. More...
struct  CategoryNameMessage
 Message used to change/set a category name. More...
struct  CollatedPacketMessage
 Identifies a message packet which contains a collection of other messages, optionally compressed. More...
struct  ControlMessage
 A system control message. More...
struct  CreateMessage
 Defines an object create message. More...
struct  DataMessage
 Defines an object data message. More...
struct  DestroyMessage
 Defines an object destroy message. More...
interface  IConnection
 Defines the interface for a TES connection. More...
struct  MeshComponentMessage
 Message for parts of a mesh resource (e.g., vertices). More...
struct  MeshCreateMessage
 Message used to define a new mesh resource. More...
struct  MeshDestroyMessage
 Message sent to destroy a previously defined mesh resource. More...
struct  MeshFinaliseMessage
 Message used to (re)finalise a mesh resource. More...
struct  MeshRedefineMessage
 Messages used to redefine an existing a mesh resource. More...
struct  ObjectAttributes
 Defines the core attributes for a 3D shape or object. More...
struct  ServerInfoMessage
 A system control message defining some global information about the server. More...
class  TcpClientUtil
 Helper functions for TCP/IP client sockets.
struct  UpdateMessage
 Defines an object update message. More...

Enumerations

enum  CategoryMessageID { Name }
 Message ID for category messages. More...
enum  CollatedPacketFlag { GZipCompressed = 1 }
 Flags for a CollatedPacketMessage More...
enum  ControlMessageID {
  Null = 0, EndFrame, CoordinateFrame, FrameCount,
  ForceFrameFlush, Reset, Keyframe
}
 Control message IDs for ControlMessage More...
enum  EndFrameFlag { Persist = (1 << 0) }
 Flags for ControlMessageID.EndFrame messages. More...
enum  CoordinateFrame {
  XYZ, XZ_Y, YX_Z, YZX,
  ZXY, ZY_X, XY_Z, XZY,
  YXZ, YZ_X, ZX_Y, ZYX,
  LeftHanded = XY_Z
}
 Defines the expected global coordinate frame. More...
enum  MeshBuildFlags { Zero = 0, CalculateNormals = (1 << 0) }
 Flags used with MeshFinaliseMessage. More...
enum  MeshDrawType { Points, Lines, Triangles, Voxels }
 Defines mesh drawing topology. More...
enum  MeshFinaliseFlag { Zero = 0, CalculateNormals = (1 << 0) }
 Mesh finalisation flags controlling how to complete the mesh. More...
enum  MeshMessageType {
  Invalid, Destroy, Create, Vertex,
  Index, VertexColour, Normal, UV,
  SetMaterial, Redefine, Finalise
}
 Defines message types for transfering mesh data (vertices, etc). More...
enum  MeshShapeFlag { CalculateNormals = ObjectFlag.User }
 Flags for MeshShape rendering. More...
enum  ObjectFlag {
  None = 0, Wireframe = (1 << 0), Transparent = (1 << 1), TwoSided = (1 << 2),
  UpdateMode = (1 << 3), Position = (1 << 4), Rotation = (1 << 5), Scale = (1 << 6),
  Colour = (1 << 7), Color = Colour, User = (1 << 12)
}
 Flags controlling object creation. More...
enum  ObjectMessageID {
  Null, Create, Update, Destroy,
  Data
}
 Defines the message IDs for shape messages (starting at RoutingID.ShapeIDsStart). More...
enum  RoutingID {
  Null = 0, ServerInfo, Control, CollatedPacket,
  Mesh, Camera, Category, Material,
  ShapeIDsStart = 64, UserIDStart = 2048
}
 Enumeration of the primary routing IDs used for sending Tes messages. More...
enum  ShapeID {
  Sphere = RoutingID.ShapeIDsStart, Box, Cone, Cylinder,
  Capsule, Plane, Star, Arrow,
  Mesh, MeshSet, PointCloud, Text3D,
  Text2D, BuiltInEnd
}
 Routing IDs for basic shape handlers. More...
enum  Text2DFlag { WorldSpace = ObjectFlag.User }
 Flags for Text2D rendering. More...
enum  Text3DFlag { SceenFacing = ObjectFlag.User }
 Flags for Text3D rendering. More...

Enumeration Type Documentation

Message ID for category messages.

Enumerator:
Name 

ID for CategoryNameMessage

Flags for a CollatedPacketMessage

Enumerator:
GZipCompressed 

Data are compressed using GZIP compression.

Control message IDs for ControlMessage

Enumerator:
Null 

Invalid ID.

EndFrame 

Notifies the change of frame.

Pending objects changes are applied.

Value32 specifies the frame time delta in the server time units, or to use the default time delta when 0. Value64 should always be zero, but is used internally during playback to identify the frame number.

CoordinateFrame 

Specifies the coordinate frame to adopt.

Value32 is one of Tes.Net.CoordinateFrame.

FrameCount 

Reports the total number of frames in a recorded stream.

Value32 is an unsigned integer.

This is intended for use only at the start of a recorded file stream, not for use by live servers.

ForceFrameFlush 

Forces a frame update without advancing the time.

This message is primarily used at the start of a recording in order to display the shapes which have been loaded so far.

Reset 

Reset the simulation state.

All current objects and data are dropped and destroyed.

This is primarily intended for internal use in playback mode. The Value32 is used to identify the frame number to which we are resetting.

Keyframe 

Request a keframe.

Value32 is the frame number.

This is not for remote transmission, but supports snapping the scene in order to improve step-back updates.

Defines the expected global coordinate frame.

This is mapped to Unity's coordinate frame.

Each member of the enumeration identifies the right, forward and up axes in turn. That is, XZY defines the axes as X-right, Z-forward and Y-up. This is the default Unity coordinate frame.

Some enumeration memebers have the up axis prefixed with an underscore '_'. This is used in place of a '-' sign and identify that the axis is negated and defines a 'down' axis, not up.

The enumeration members are divided into two groups: right and left. All members before XY_Z are left handed, while every member thereafter, including XY_Z defines a left-handed coordinate frame.

Enumerator:
LeftHanded 

First left handed coordinate frame.

Flags for ControlMessageID.EndFrame messages.

Enumerator:
Persist 

Indicates transient objects should be maintained and not flushed for this frame.

Flags used with MeshFinaliseMessage.

Enumerator:
Zero 

Zero value.

CalculateNormals 

Calculate per vertex normals based on triangle normals.

Defines mesh drawing topology.

Enumerator:
Points 

Vertices and indices represent points.

Lines 

Vertices/indices come in pairs, defining connected lines.

Triangles 

Vertices/indices come in triples, defining connected triangles.

Voxels 

Geometry shader based voxels.

Vertices define voxel centres, the normals define the box half extents.

Mesh finalisation flags controlling how to complete the mesh.

Enumerator:
Zero 

Zero flag.

CalculateNormals 

Instruct the calculation of vertex normals.

Defines message types for transfering mesh data (vertices, etc).

Enumerator:
Invalid 

Invalid/null message.

Destroy 

Destroy an existing mesh.

Create 

Create a new, empty mesh.

Provides initial data.

Vertex 

Incoming vertex data (part).

Index 

Incoming index data (part).

VertexColour 

Incoming vertex colour data (part).

Normal 

Incoming vertex normal data (part).

UV 

Incoming vertex UV data (part).

SetMaterial 

Define the material for this mesh.

Future extension: NYI.

Redefine 

Redefine the core aspects of the mesh.

This invalidates the mesh requiring re-finalisation, but allows the creation parameters to be redefined. Component messages (vertex, index, colour, etc) can also be changed after this message, but before a second Finalise.

Finalise 

Finalise and build the mesh.

Flags for MeshShape rendering.

Enumerator:
CalculateNormals 

Calculate normals and rendering with lighting enabled?

Flags controlling object creation.

Enumerator:
None 

Null flag.

Wireframe 

Shape should be rendered using wireframe rendering.

Transparent 

Shape is transparent.

Colour should include an appropriate alpha value.

TwoSided 

Shape used a two sided shader (triangle culling disabled).

UpdateMode 

Update attributes using only explicitly specified flags from the following.

Position 

Update position data.

Rotation 

Update rotation data.

Scale 

Update scale data.

Colour 

Update colour data.

Color 

A spelling alias for colour.

User 

User flags start here.

Defines the message IDs for shape messages (starting at RoutingID.ShapeIDsStart).

Enumerator:
Null 

Null value; not used.

Create 

CreateMessage

Update 

UpdateMessage

Destroy 

DestroyMessage

Data 

DataMessage

Enumeration of the primary routing IDs used for sending Tes messages.

Assigned to Tes.IO.PacketHeader.RoutingID.

Enumerator:
Null 

Invalid/null ID.

ServerInfo 

ServerInfoMessage

Control 

ControlMessage

CollatedPacket 

The packet contains a collection of collated packets, optionally compressed.

CollatedPacketMessage

Mesh 

MeshMessageType

Camera 

CameraMessage

Category 

A message relating to categories.

Material 

Extension message for materials (NYI).

ShapeIDsStart 

Built in shape types start at this ID.

UserIDStart 

User message routing IDs start here.

Routing IDs for basic shape handlers.

Enumerator:
Sphere 

Shapes.Sphere

Box 

Shapes.Box

Cone 

Shapes.Cone

Cylinder 

Shapes.Cylinder

Capsule 

Shapes.Capsule

Plane 

Shapes.Plane

Star 

Shapes.Star

Arrow 

Shapes.Arrow

Mesh 

Shapes.MeshShape

MeshSet 

Shapes.MeshSet

PointCloud 

Shapes.PointCloudShape

Text3D 

Shapes.Text3D

Text2D 

Shapes.Text2D

BuiltInEnd 

Build in shapes end.

User shapes start at RoutingID.UserIDStart regardless of this value.

Flags for Text2D rendering.

Enumerator:
WorldSpace 

Position is given in screen space and mapped to world space.

Otherwise text is sceen spacewith (0, 0, z).

Flags for Text3D rendering.

Enumerator:
SceenFacing 

Orient the text to face the screen.

 All Classes Namespaces Functions Variables Enumerations Properties Events