Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Object Class Reference

#include <rtti/object.h>

Public Member Functions

 Object ()
virtual ~Object ()
virtual bool init (utility::ErrorState &errorState)
virtual void onDestroy ()
 Object (Object &)=delete
Objectoperator= (const Object &)=delete
 Object (Object &&)=delete
Objectoperator= (Object &&)=delete

Static Public Member Functions

static bool isIDProperty (rtti::Instance &object, const rtti::Property &property)

Public Attributes

std::string mID
 Property: 'mID' unique name of the object. Used as an identifier by the system. More...


Base class of all top-level objects that support serialization / de-serialization.

Derive from this object if your object:

If you're making, for example, a compound (i.e a plain struct) there is no need to derive from this class.

Inheritance diagram for Object:

Constructor & Destructor Documentation

◆ Object() [1/3]

Object ( )

◆ ~Object()

virtual ~Object ( )

◆ Object() [2/3]

Object ( Object )

Copy is not allowed

◆ Object() [3/3]

Object ( Object &&  )

Move is not allowed

Member Function Documentation

◆ init()

virtual bool init ( utility::ErrorState errorState)

Override this method to initialize the object after de-serialization. When called it is safe to assume that all dependencies have been resolved up to this point.

errorStateshould contain the error message when initialization fails.
if initialization succeeded or failed.

Reimplemented in UDPAdapter, IndexBuffer, Mesh, VertexBuffer< T >, BitmapFromFile, DailyCalendarItem, TypedGPUBufferNumeric< T >, TypedGPUBufferNumeric< uint >, WeeklyCalendarItem, TriangleLine, Hexagon, MonthlyCalendarItem, Circle, YearlyCalendarItem, Rectangle, ComputeMaterial, Line, UniqueCalendarItem, BufferBindingStruct, Renderable2DTextComponentInstance, SerialPort, SequencePlayerIndependentClock, BufferBindingNumeric, Material, RenderToTextureComponentInstance, GPUBuffer, WebSocketServerEndPoint, RenderableMeshComponentInstance, Group< T >, SequencePlayerAudioOutputComponentInstance, OrthoCameraComponentInstance, Calendar, CameraControllerInstance, Font, PythonScriptComponentInstance, ParameterBlendComponentInstance, BufferBinding, Renderable3DTextComponentInstance, CalendarItem, RotateComponentInstance, RenderWindow, RenderGnomonComponentInstance, ComputeComponentInstance, PlaybackComponentInstance, RenderTarget, APIComponentInstance, ParameterGUI, OrbitControllerInstance, RenderableTextComponentInstance, RenderVideoComponentInstance, LevelMeterComponentInstance, PerspCameraComponentInstance, FirstPersonControllerInstance, ArtNetInputComponentInstance, OSCInputComponentInstance, OrthoControllerInstance, CVCaptureComponentInstance, ColorAdjustmentShader, WebSocketComponentInstance, SequencePlayerAudioOutput, AudioInputComponentInstance, MidiInputComponentInstance, IWebSocketClient, Scene, OutputComponentInstance, CalendarComponentInstance, CVCamera, CVCaptureDevice, CVClassifyComponentInstance, SequencePlayer, VideoAudioComponentInstance, StructBuffer, MultiAudioFileResource, FontShader, RenderableComponentInstance, PolyLine, PythonScriptComponent, WebSocketClientEndPoint, ConstantShader, RenderTexture2D, SequenceTrackCurve< T >, WebSocketInterface, SequenceTrackCurve< CURVE_TYPE >, Bitmap, GeometryFromFile, SequenceEditor, SequencePlayerOutput, LineFromFile, SequenceEditorGUI, CVAdapter, ImageFromFile, Snapshot, VisualizeNormalsMesh, GpioPin, PlaneMesh, IWebSocketServer, OperationalCalendar, CVVideo, PythonScript, BoxMesh, ScatterPointsMesh, CVNetworkStream, ParameterBlendGroup, SphereMesh, TriangleMesh, AudioFileResource, SequenceTrackSegmentCurve< T >, MeshFromFile, WebSocketTicket, GnomonMesh, GnomonShader, SequenceTrackSegment, VideoFile, TorusMesh, TypedBufferBindingNumeric< T >, ComponentInstance, TransformComponentInstance, SDOArgument, ComputeShaderFromFile, ShaderFromFile, PortalComponentInstance, PortalWebSocketServer, PortalItemVec< T >, PortalItemColor< T >, PortalItemNumeric< T >, PortalItemSimple< T >, PortalItemSimple< std::string >, and Icon.

◆ isIDProperty()

static bool isIDProperty ( rtti::Instance object,
const rtti::Property property 
if this is an object that holds a valid identifier attribute

◆ onDestroy()

virtual void onDestroy ( )

This function is called on destruction and is only invoked after a successful call to init(). If initialization fails onDestroy will not be invoked. Objects are destroyed in reverse init order. It is safe to assume that when onDestroy is called all your pointers are valid. This function is also called when editing JSON files. If during the real-time edit stage an error occurs, every object that initialized successfully will be destroyed in the correct order.

Reimplemented in UDPAdapter, SequencePlayerAudioOutputComponentInstance, RenderWindow, EntityInstance, SequencePlayerAudioOutput, IWebSocketClient, PortalComponentInstance, Scene, SequencePlayerOutput, SequenceEditorGUI, PortalWebSocketServer, GpioPin, IWebSocketServer, SequencePlayerAudioClock, PortalItemVec< T >, PortalItemColor< T >, PortalItemNumeric< T >, PortalItemSimple< T >, and PortalItemSimple< std::string >.

◆ operator=() [1/2]

Object& operator= ( const Object )

Copy assignment is not allowed

◆ operator=() [2/2]

Object& operator= ( Object &&  )

Move assignment is not allowed

Member Data Documentation

◆ mID

std::string mID

Property: 'mID' unique name of the object. Used as an identifier by the system.