Roboid Control for C# 0.4
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | Properties | List of all members
RoboidControl.DigitalSensor Class Reference

Detailed Description

A sensor which can detect touches.

Inheritance diagram for RoboidControl.DigitalSensor:
RoboidControl.Thing

Public Member Functions

 DigitalSensor (Thing parent)
 Create a new child digital sensor.
 
override byte[] GenerateBinary ()
 Function used to generate binary data for this digital sensor.
 
override void ProcessBinary (byte[] bytes)
 Function used to process binary data received for this digital sensor.
 
virtual void CreateComponent ()
 Function which can be used to create components in external engines.
 
void AddChild (Thing child)
 Add a child Thing to this Thing.
 
bool RemoveChild (Thing child)
 Remove the given thing as a child of this thing.
 
void ReplacePosition (Spherical newPosition)
 
void ReplaceOrientation (SwingTwist newOrientation)
 
virtual void Update (bool recurse=false)
 Update de state of the thing.
 

Static Public Member Functions

static void CreateRoot (Participant owner)
 Create a root Thing for a participant.
 
static ulong GetTimeMs ()
 Get the current time in milliseconds.
 

Public Attributes

bool terminate = false
 Terminated things are no longer updated.
 
byte id = 0
 The ID of this thing.
 
byte type = Type.Undetermined
 The type of this thing.
 
bool isRemote = false
 
Participant owner = null
 The participant owning this thing.
 
bool nameChanged = false
 
Unity.Thing component = null
 A reference to the representation of the thing in Unity.
 
bool hierarchyChanged = true
 Indicator that the hierarchy of the thing has changed.
 
bool positionUpdated = false
 Boolean indicating that the thing has an updated position.
 
bool orientationUpdated = false
 Boolean indicating the thing has an updated orientation.
 
bool linearVelocityUpdated = false
 Boolean indicating the thing has an updated linear velocity.
 
bool angularVelocityUpdated = false
 Boolean indicating the thing has an updated angular velocity.
 
ConcurrentQueue< CoreEventupdateQueue = new()
 Queue containing events happened to this thing.
 

Protected Attributes

List< Thingchildren = new()
 The children of this thing.
 

Properties

bool state [get, set]
 
static Thing localRoot [get]
 The root thing for the local participant.
 
virtual string name [get, set]
 The name of the thing.
 
string modelUrl [get, set]
 An URL pointing to the location where a model of the thing can be found.
 
Thing parent [get, set]
 The parent of this thing.
 
bool isRoot [get]
 Indication whether this is a root thing.
 
Spherical position [get, set]
 The position of the thing in local space, in meters.
 
SwingTwist orientation [get, set]
 The orientation of the thing in local space.
 
Spherical linearVelocity [get, set]
 The linear velocity of the thing in local space in meters per second.
 
Spherical angularVelocity [get, set]
 The angular velocity of the thing in local space in degrees per second.
 

Constructor & Destructor Documentation

◆ DigitalSensor()

RoboidControl.DigitalSensor.DigitalSensor ( Thing  parent)

Create a new child digital sensor.

Parameters
parentThe parent thing
thingIdThe ID of the thing, leave out or set to zero to generate an ID
invokeEventInvoke a OnNewThing event when the thing has been created

Member Function Documentation

◆ GenerateBinary()

override byte[] RoboidControl.DigitalSensor.GenerateBinary ( )
virtual

Function used to generate binary data for this digital sensor.

Returns
A byte array with the binary data

<remark>The byte array will be empty when the digital status has not changed</remark>

Reimplemented from RoboidControl.Thing.

◆ ProcessBinary()

override void RoboidControl.DigitalSensor.ProcessBinary ( byte[]  bytes)
virtual

Function used to process binary data received for this digital sensor.

Parameters
bytesThe binary data to process

Reimplemented from RoboidControl.Thing.

◆ CreateRoot()

static void RoboidControl.Thing.CreateRoot ( Participant  owner)
staticinherited

Create a root Thing for a participant.

Parameters
ownerThe participant who will own this root thing

◆ CreateComponent()

virtual void RoboidControl.Thing.CreateComponent ( )
virtualinherited

Function which can be used to create components in external engines.

Currently this is used to create GameObjects in Unity

Reimplemented in RoboidControl.DistanceSensor, and RoboidControl.TouchSensor.

◆ AddChild()

void RoboidControl.Thing.AddChild ( Thing  child)
inherited

Add a child Thing to this Thing.

Parameters
childThe Thing which should become a child
Remarks
When the Thing is already a child, it will not be added again

◆ RemoveChild()

bool RoboidControl.Thing.RemoveChild ( Thing  child)
inherited

Remove the given thing as a child of this thing.

Parameters
childThe child to remove
Returns
True when the child was present or false when it was not found

◆ Update()

virtual void RoboidControl.Thing.Update ( bool  recurse = false)
virtualinherited

Update de state of the thing.

Parameters
recurseWhen true, this will Update the descendants recursively

Reimplemented in RoboidControl.ControlledMotor, RoboidControl.EncoderMotor, and RoboidControl.DifferentialDrive.

◆ GetTimeMs()

static ulong RoboidControl.Thing.GetTimeMs ( )
staticinherited

Get the current time in milliseconds.

Returns
The current time in milliseconds

Member Data Documentation

◆ type

byte RoboidControl.Thing.type = Type.Undetermined
inherited

The type of this thing.

This can be either a Thing.Type or a byte value for custom types.

Property Documentation

◆ modelUrl

string RoboidControl.Thing.modelUrl
getsetinherited

An URL pointing to the location where a model of the thing can be found.

Although the roboid implementation is not dependent on the model, the only official supported model formats are .png (sprite), .gltf and .glb