#include <Object3DVirtualDynamic.h>
Inherits Object3DMeshVirtual.
Inherited by Object3DMarchCube.
Definition at line 18 of file Object3DVirtualDynamic.h.
Public Types | |
enum | tm_BaseObject { tm_BaseObject_FirstInheritageToolMethod = 1 } |
Begin the enumeration for ExecuteToolMethod(). More... | |
enum | eVedaUpdate { eVedaUpdate_NoUpdate = 0, eVedaUpdate_MemberIsGoingToChange, eVedaUpdate_MemberChanged, eVedaUpdate_MemberChangedBecauseOfUndo, eVedaUpdate_MemberDestroyed, eVedaUpdate_ObjectNew, eVedaUpdate_ObjectDestroyed, eVedaUpdate_ObjectReCreated, eVedaUpdate_ObjectClosed, eVedaUpdate_NewRegisteredClass } |
enum used by BaseContext::NotifyObjectChange() to describe the notification meaning. Used by interfaces to monitor a context. More... | |
Public Member Functions | |
Object3DVirtualDynamic (void) | |
Constructor. There should only be members initialisation there. | |
BASEOBJECT_DEFINE_VIRTUALCLASS (Object3DVirtualDynamic) | |
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp. | |
BASEOBJECT_DEFINE_VIRTUALCLASS (Object3DMeshVirtual) | |
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp. | |
BASEOBJECT_DEFINE_VIRTUALCLASS (Object3DVirtual) | |
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp. | |
virtual void | ProcessPreview (double _frameDate, VirtualMachine::InternalViewPort *_pPreviewViewPort, const PreviewConfiguration *_pPreviewConfiguration) |
a GUI could need to play, draw, print, or output from any way, a preview of a created object. This is done with this method. sub classes can implement it (or not) in any way, to explicit current shape of an object. Extended to draw. | |
virtual void | ProcessPreview (double _frameDate, VirtualMachine::InternalViewPort *_pPreviewViewPort, const PreviewConfiguration *_pPreviewConfiguration) |
Extend this method to draw your preview ! a GUI could need to play, draw, print, or output from any way, a preview of a created object. Inherited classes can implement it in any way, to explicit the current shape of an object. | |
virtual void | RenderObject (double _frameDate, VirtualMachine::InternalViewPort *_pViewPort, const float _rgba[4], unsigned int _shapeIndex=0, ShapeModifierList *_pModifierList=0L) |
Process a real time computing and drawing. Can be extended. | |
virtual void | RenderObject (double _frameDate, VirtualMachine::InternalViewPort *_pViewPort, const float _rgba[4], unsigned int _shapeIndex=0, ShapeModifierList *_pModifierList=0L)=0 |
Process a real time computing and drawing. Can be extended. | |
int | Create (bool _immediate=true) |
Public Method that ensures the object is construct, and ensures that all needed objects in the context are build before. Close() should close everything opened by Create() for this object. if _immediate is true, it will build everything immediately and return 0. if false, it will begin to build needed objects, and then return an integer which stand for the rest of objects to be built before this object is completly created. if Create(false) is thrown again and again, this weight will get down to zero, and zero mean the object is created (like with Create() ). It allows to follow the progression of the creation in a loop, and so progressbars. Note it runs the protected virtual CreateInternal() method to do it. Extend CreateInternal() to make the construction, do not extend create. | |
void | Close (bool _AndCloseAllDependantObjects=false) |
Public method that will close everythinh opened with Create(), and declare the object Closed. The object is not destroyed, and can be rebuild eback using Create(). Extend CreateInternal() and CloseInternal() to manage your objects. This method also sends a "Object Close" message in edition mode. | |
virtual const char * | GetClassID () const |
Each BaseType's inherited classes must explicit an ID for their class, or let use one of the super class at least through this virtual method. This is needed by GUIs to detect the types of each sub-members, and shape an interface for each Object according to their member list. | |
virtual const char * | GetDisplayClassName () const |
return an explicit name for the class the object is instancied. | |
virtual const char * | GetDefaultObjectName () const |
return the default name that is set to new objects if not specified: | |
virtual const char * | GetClassHelpDescription () const |
return an explicit name for the class the object is instancied. | |
virtual const ClassDescription & | GetClassDescription (void) const |
BaseObject * | Clone (const char *_cloneName=0L) |
Create a new object with the exact same member values in the same context. references to other objects are kept the same, so that the clone uses the same objects as the original. | |
void | SetBaseContext (BaseContext *_pBaseContext) |
The BaseContext the Object belong to. Should only be used by BaseContext at object creation. As it is set after construction, the chunk initialisation continue there the initialisation of registered members. | |
BaseContext * | GetContext (void) |
get the context this object belong to. | |
VirtualMachine * | GetMachine () |
The Machine of which the context is implemented. It is a gateway for hardware abstraction. | |
PackObjectReference * | GetFirstReferenceToThisObject (void) |
return the First Reference To This Object, and then scan the list of all PackObjectReference that refers the objects. | |
virtual void | CloseReferences () |
all reference to this object will be closed. used by deletion done by ClassNode. | |
void | SetFirstReferenceToThisObject (PackObjectReference *_pReference) |
set FirstReferenceToThisObject, should be used privately. | |
void | SetUniqueReference (unsigned int _referenceIndex) |
Used by the context to set the reference index for serialization, to manage PackObjectReference serialisation:. | |
unsigned int | GetUniqueReference () |
Used by PackObjectReference for input serialization. See ClassNode::SetObjectsUniqueReferenceIndex(). | |
bool | isDependantOf (BaseObject *_pObjectSuspectedOfOwnage) |
if this object is refered by another one (which means: needed to be created.) directly, or indirectly through other objects references, it will return true, otherwise false if no dependance are found at all. This is a recursive test. | |
bool | isCreated () const |
return false if allocated but not created, true if also created. | |
float | GetCreationRate () |
the rate of creation, 0.0f if created, 1.0f if not created at all. | |
virtual void | StartPreview () |
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change. | |
virtual void | EndPreview () |
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change. | |
const char * | GetObjectInfoLine () const |
In editable mode, it returns an information output to display, usually given in ProcessPreview(), using m_ObjectInfoLine. | |
virtual void | ExecuteToolMethod (unsigned int _MethodIDToExecute) |
Tool Method main entry. In editable mode, the object can register a set of methods identified with an ID number by using RegisterToolMethod(), and throw the methods through a switch in ToolMethod(). Then an interface can ask about the available tool methods for an object, and provide action on it. This was made to allow special external processing to edit an object, by exemple by importing a file, or to allow export of the object in a file format. By default, it does nothing for BaseObject. Important: 0 can't be used as an ID. You can only register an ID once, for a given class. See RegisterToolMethod(). | |
unsigned int | GetNextToolMethod (unsigned int _PreviousMethodID, unsigned int &_NextMethodflagInfo, const char *&_pNextShortDisplayName, const char *&_pNextDisplayHelp) |
get next tool method ID, or 0 if no more. Send 0 as _PreviousMethodID to get the first. | |
bool | DidLastCreationFailed () const |
If the last call to Create() failed, this return true, and GetLastCreationErrorString() could explain why. | |
const char * | GetLastCreationErrorString () const |
virtual const unsigned char * | Serialize_In (const unsigned char *_pDescriptionChunk) |
Read the object description from a byte chunk. Could crash if chunk not valid. | |
virtual unsigned int | GetSerializedDescriptionSize (void) |
get the size of the whole byte chunk that will be written by Serialize_Out(). | |
virtual unsigned char * | Serialize_Out (unsigned char *_pDescriptionChunkToFill) |
write the Current object definition to a Chunk using private packed types, recursively. | |
unsigned int | GetChunkLength () |
the chunk length once serialized. should be valid just after in or out serialisation, but not if the object was modified. use GetSerializedDescriptionSize() instead. | |
const char * | GetName (void) const |
Return the name of the object as a character string. | |
void | SetName (const char *_pname) |
set the name of the object as a character string. This is copied of course. | |
virtual void | SetObjectThatManagesThis (BaseObject *_pManager) |
The Object this one belong to as a member. Should only be used at init. | |
virtual const char * | ValueToString () |
convert the value of this object to an explicit string. The object manages the string privately, so just read it or copy it. the string would be destroyed with the objects, and changed when using Set() methods. Note: this is not virtual, but each class can manage m_pValueString or not. | |
virtual Cell * | AddElement (int _indexWhereToInsert=-1, BaseType *_pObjectToAdd=0L) |
Add a new element, at the given index. | |
BaseType * | Get (unsigned int _index) |
get an element at a given index. | |
virtual void | DeleteElement (unsigned int _index) |
delete an element at a given object of the cell to destroy. does not destroy the object. | |
Cell * | GetFirstCell () const |
FirstCell or null if empty. | |
Cell * | GetLastCell () const |
the Last Cell or null if empty | |
unsigned int | GetNumberOfCell () const |
return the number of cell. | |
void | DeleteAllElements (void) |
close and destroy the whole list. | |
virtual unsigned int | WriteFile (const char *_pFileName) |
write a serialized form, using GetSerializedDescriptionSize() and Serialize_Out(). | |
virtual unsigned int | ReadFile (const char *_pFileName) |
Try to read a serialized form, using Serialize_In(). | |
void | SetMemberName (const char *_MemberName) |
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() returning NULL should not be edited by an interface or undo-managed. Use REGISTER_MEMBER macros family: it registers the members and use SetMemberName() automatically (or not, according to the compilation mode). | |
const char * | GetMemberName () const |
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() to NULL should not be edited by an interface or undo-managed. set with SetMemberName(). | |
void | SetMemberInfo (const char *_MemberInfo) |
Explicits the use of an object when used as a class member. It should explain what the member does for the object. It exists only in editable mode,and can be used by any GUI. Don't use html tags , only \n are allowed. Use REGISTER_MEMBER_INFO macro after the REGISTER_MEMBER macro in the constructors. It can be left NULL. | |
const char * | GetMemberInfo () const |
Explicits the use of an object when used as a class member. It exists only in editable mode and can be used by any GUI. It should explain what the member does for the object. | |
BaseObject * | GetObjectThatManagesThis () |
If there is any, get the object that manages this one as a member. | |
void | MakeCloneOf (BaseType &_ModelObject) |
Tool that makes an object take the values of another using serialization. Use with care: You got to clone a PackUlong with a PackULong, a PackString with a PackString: Clone Object of the same type or it will crash . A test is done at the beginning to check that for both types are the sames, if not it does nothing. however it may still crash with 2 objects from unherited classes. Also, some type like PackObjectReference, will not clone its value by copying a pointer.Reference member clonage is done with BaseObject::Clone(). | |
Static Public Member Functions | |
static BaseType * | NewShapeModifier () |
static method passed to the list to create new elements. | |
Static Public Attributes | |
static const ClassDescription | m_Description |
the static class description object, to be reimplemented in each class to describe it, with BASEOBJECT_DECLARE_VIRTUALCLASS / BASEOBJECT_DECLARE_CLASS macros | |
Protected Types | |
enum | OB3DBitFlag { OB3DFlag_Static = 1, OB3DFlag_LookCam = 2, OB3DFlag_PreRender32 = 4, OB3DFlag_PreRender128 = 8, OB3DFlag_OneColor = 16, OB3DFlag_Object3DVirtual_LastFlag = 32 } |
flag for each object shape: More... | |
Protected Member Functions | |
bool | CreateInternal_Alloc1Internal3DBuffer (unsigned int _i3DBufferFlag) |
Alloc one VirtualMachine::Internal3DBuffer with the number of vertex and triangle defined. this sould be used by CreateInternal or CreateShape(). | |
virtual void | CreateShape (float _newShapeTime, unsigned int _shapeIndex=0) |
update the shape of the object for this date, during the lifetime the object, when it is created. by defdault, does nothing, so static object can be created with CreateInternal() only. | |
bool | CreateInternal_RenderObjectToTexture (void) |
tool for CreateInternal(). If mSer_Flags ask it,(OB3DFlag_PreRender) all objects previously constructed are rendered to a texture, and the object is replaced by a billboard with the same dimensions. | |
void | CreateInternal_FreezeStaticShape (void) |
tool for CreateInternal(). If mSer_Flags ask it,(OB3DFlag_Static) once the object shape is created (to date 0 seconds), the object shape is frozen and changes will be ignored. Note: It applies to all shapes. It allows some optilizations... | |
virtual void | CloseInternal (void) |
that closes everything. Still, the object exist and can be rebuild the same using Create() | |
void | ProcessPreview_CreateLine (VirtualMachine::InternalObject3DBuffer **_ppVertexAndPolygonBufferOut, unsigned int _nbPoint=2) |
bool true if m_rgba used. Preview Tool: Create a preview line 3D Object. | |
void | ProcessPreview_DrawGrid (VirtualMachine::InternalViewPort *_pPreviewViewPort) |
Preview Tool: draw a grid 10x10 axis grid in the viewport's matrix state. | |
virtual bool | CreateInternal (void) |
Method that really build the object using the serializable parameters. Close() should close everything opened by Create(). If the object is already created, it return false, and all Create methods should exit. Note it runs the protected virtual CreateInternal() method to do it. | |
void | RegisterToolMethod (unsigned int _MethodID, unsigned int _MethodflagInfo, const char *_pShortDisplayName, const char *_pDisplayHelp) |
Register a tool method. Do not use it directly, use macro version BASEOBJECT_REGISTER_TOOLMETHOD() It should be set in the constructors. | |
void | RegisterSerializableMember (BaseType &_object) |
Register any serializable object to serialize for read or write operation, Use it in objects constructors. The object are serialized in the file in the same order as they are given by this method. | |
void | BeginChangeNotification () |
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack. | |
void | EndChangeNotification () |
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack. | |
Protected Attributes | |
PackLong_WithLimits | mSer_MaximumNumberOfVertex |
the maximum number of vertex. | |
PackLong_WithLimits | mSer_MaximumNumberOfTriangle |
the maximum number of Triangle. | |
float | m_LastShapeTime |
an object shape is relative to a time date, and the extended object's attributes. | |
ShapeModifierList * | m_pLastShapeModifierList |
last shape modifier applied. | |
PackULong_Flags | mSer_Flags |
property flags (OB3DFlag_...) | |
PackObjectReference | mSer_TextureRef |
The only texture for the object. We support 1 texture by object in this class. | |
Object3DBufferHandler * | m_pObject3DBufferTable |
, should be available if created: | |
unsigned int | m_CurrentNumberOf3DBuffer |
current number of InternalObject3DBuffer created in table m_pObject3DVirtualBufferTable. Most of the time it's 1. | |
PackULong | mSer_UniqueReference |
Unique reference used only for serilalization, and PackObjectReference resolution. | |
PackString | m_ObjectInfoLine |
PackString | m_LastCreationErrorString |
In editable mode, if Create() fail, this string may be inited. | |
float | m_CreationRate |
the rate of creation, 0.0f if created, 1.0f if not created at all. | |
PackObjectReference * | m_pFirstReferenceToThisObject |
In editable mode, trace the list of all reference to this object:. | |
ToolMethodCell * | m_pFirstToolMethodCell |
next method or 0L. | |
PackULong | mSerUlong_ChunkLength |
all named objects, ClassNode and BaseObjects, has the ability to jump over the chunk without reading it: | |
PackString | mSerStr_ObjectName |
BaseContext * | m_pBaseContext |
an object can belong (or not) to a BaseContext, as an object. | |
Cell * | m_pFirstCell |
member that manages the list of members to serialize automatically. | |
Cell * | m_pLastCell |
another member that manages the list of members to serialize automatically, and allow to grow the list by the end. | |
unsigned int | m_NumberOfCell |
the number of cell. | |
BaseObject * | m_pObjectThatManagesThis |
an object can belong (or not) to a BaseObject,( and to a BaseContext through it). | |
const char * | m_pMemberName |
If used as a member in an object, the member name, or NULL (not editable member). | |
const char * | m_pMemberInfo |
a short string explaining what's the object for in editable mode. OK if NULL (no info). | |
PackString * | m_pValueString |
a string standing for an expression of the value of the object: | |
unsigned char * | m_pPreviousValueShape |
used as a temp for object change notification in Begin/EndChangeNotification(): | |
unsigned int | m_PreviousValueShapeLength |
Static Protected Attributes | |
static const char * | m_pErrorString_Memory |
some optimsation stuff to not make the executable string table grow too much... | |
static const char * | m_pErrorString_CantOpenFile |
|
enum used by BaseContext::NotifyObjectChange() to describe the notification meaning. Used by interfaces to monitor a context.
Definition at line 194 of file BaseType.h. |
|
flag for each object shape:
Definition at line 97 of file Object3DMeshVirtual.h. |
|
Begin the enumeration for ExecuteToolMethod().
Definition at line 411 of file BaseObject.h. |
|
Constructor. There should only be members initialisation there.
|
|
Add a new element, at the given index.
Reimplemented in PackList, PackList_TimeBlockTrack, and PackList_TimeTrack. |
|
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp.
|
|
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp.
|
|
Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp.
|
|
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack.
|
|
Create a new object with the exact same member values in the same context. references to other objects are kept the same, so that the clone uses the same objects as the original.
|
|
Public method that will close everythinh opened with Create(), and declare the object Closed. The object is not destroyed, and can be rebuild eback using Create(). Extend CreateInternal() and CloseInternal() to manage your objects. This method also sends a "Object Close" message in edition mode.
|
|
that closes everything. Still, the object exist and can be rebuild the same using Create()
Reimplemented from BaseObject. Reimplemented in Object3DLWOResource, and Object3DMarchCube. |
|
all reference to this object will be closed. used by deletion done by ClassNode.
Reimplemented in InterfacePrefObject. |
|
Public Method that ensures the object is construct, and ensures that all needed objects in the context are build before. Close() should close everything opened by Create() for this object. if _immediate is true, it will build everything immediately and return 0. if false, it will begin to build needed objects, and then return an integer which stand for the rest of objects to be built before this object is completly created. if Create(false) is thrown again and again, this weight will get down to zero, and zero mean the object is created (like with Create() ). It allows to follow the progression of the creation in a loop, and so progressbars. Note it runs the protected virtual CreateInternal() method to do it. Extend CreateInternal() to make the construction, do not extend create.
|
|
Method that really build the object using the serializable parameters. Close() should close everything opened by Create(). If the object is already created, it return false, and all Create methods should exit. Note it runs the protected virtual CreateInternal() method to do it.
Reimplemented in MediaTimePattern, TextLocalized, EquationSoundSignal, VirtualEquationSpline, BubbleGreyImage, ImplicitEquationImage, ImplicitEquationImage, PerlinNoiseImage, ProceduralImage, RGBAImage, VirtualImage, Media3DView, Object3DGrid, Object3DLWOResource, Object3DMesh3D, ParticleSetVirtual, RenderTargetRectangle, RenderTargetTexture, Texture3D, Image2DEffectFire, MarchinCubeSpace, MediaSoundEquation, Object3DFontArial, Object3DFontBitmap, Object3DMarchCube, Object3DText, MP3SoundObject, and ImageJPEG. Definition at line 503 of file BaseObject.h. |
|
Alloc one VirtualMachine::Internal3DBuffer with the number of vertex and triangle defined. this sould be used by CreateInternal or CreateShape().
|
|
tool for CreateInternal(). If mSer_Flags ask it,(OB3DFlag_Static) once the object shape is created (to date 0 seconds), the object shape is frozen and changes will be ignored. Note: It applies to all shapes. It allows some optilizations...
|
|
tool for CreateInternal(). If mSer_Flags ask it,(OB3DFlag_PreRender) all objects previously constructed are rendered to a texture, and the object is replaced by a billboard with the same dimensions.
|
|
update the shape of the object for this date, during the lifetime the object, when it is created. by defdault, does nothing, so static object can be created with CreateInternal() only.
Reimplemented in Object3DGrid, Object3DLWOResource, Object3DMesh3D, and Object3DMarchCube. |
|
close and destroy the whole list.
|
|
delete an element at a given object of the cell to destroy. does not destroy the object.
Reimplemented in PackList. |
|
If the last call to Create() failed, this return true, and GetLastCreationErrorString() could explain why.
Definition at line 462 of file BaseObject.h. |
|
In edition mode, when a member of an object is changed (like in a Set()), you got to use BeginChangeNotification(), make your changes, and then EndChangeNotification(), so that the edition of this object and member is known by the context, and allows it to manage a GUI update and the undo stack.
|
|
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change.
Reimplemented in VirtualMedia. Definition at line 395 of file BaseObject.h. |
|
Tool Method main entry. In editable mode, the object can register a set of methods identified with an ID number by using RegisterToolMethod(), and throw the methods through a switch in ToolMethod(). Then an interface can ask about the available tool methods for an object, and provide action on it. This was made to allow special external processing to edit an object, by exemple by importing a file, or to allow export of the object in a file format. By default, it does nothing for BaseObject. Important: 0 can't be used as an ID. You can only register an ID once, for a given class. See RegisterToolMethod().
Reimplemented in EquationSpline_X, and Object3DMesh3D. |
|
get an element at a given index.
|
|
the chunk length once serialized. should be valid just after in or out serialisation, but not if the object was modified. use GetSerializedDescriptionSize() instead.
Definition at line 65 of file NamedObject.h. References PackULong::Get(), and NamedObject::mSerUlong_ChunkLength. |
|
Referenced by BaseObject::GetClassID(), BaseObject::GetDefaultObjectName(), and BaseObject::GetDisplayClassName(). |
|
return an explicit name for the class the object is instancied.
Definition at line 243 of file BaseObject.h. |
|
Each BaseType's inherited classes must explicit an ID for their class, or let use one of the super class at least through this virtual method. This is needed by GUIs to detect the types of each sub-members, and shape an interface for each Object according to their member list. For all "BaseObject", this name is the same that identify the class into the context: No need to extend this method further after BaseObject.
Reimplemented from PackStruct. Definition at line 222 of file BaseObject.h. References BaseObject::GetClassDescription(). |
|
get the context this object belong to.
Definition at line 277 of file BaseObject.h. References NamedObject::m_pBaseContext. |
|
the rate of creation, 0.0f if created, 1.0f if not created at all.
Definition at line 338 of file BaseObject.h. References BaseObject::m_CreationRate. |
|
return the default name that is set to new objects if not specified:
Definition at line 236 of file BaseObject.h. References BaseObject::GetClassDescription(). |
|
return an explicit name for the class the object is instancied.
Definition at line 229 of file BaseObject.h. References BaseObject::GetClassDescription(). |
|
FirstCell or null if empty.
Definition at line 171 of file PackStruct.h. References PackStruct::m_pFirstCell. Referenced by LightModel::GetFirstDifuseLight(), and LightModel::GetFirstLinearLight(). |
|
return the First Reference To This Object, and then scan the list of all PackObjectReference that refers the objects.
Definition at line 289 of file BaseObject.h. References BaseObject::m_pFirstReferenceToThisObject. |
|
the Last Cell or null if empty
Definition at line 176 of file PackStruct.h. References PackStruct::m_pLastCell. Referenced by PackList_TimeTrack::GetEndTime(). |
|
The Machine of which the context is implemented. It is a gateway for hardware abstraction.
|
|
Explicits the use of an object when used as a class member. It exists only in editable mode and can be used by any GUI. It should explain what the member does for the object.
Definition at line 144 of file BaseType.h. References BaseType::m_pMemberInfo. |
|
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() to NULL should not be edited by an interface or undo-managed. set with SetMemberName().
Definition at line 123 of file BaseType.h. References BaseType::m_pMemberName. |
|
Return the name of the object as a character string.
Definition at line 71 of file NamedObject.h. References PackString::Get(), and NamedObject::mSerStr_ObjectName. |
|
get next tool method ID, or 0 if no more. Send 0 as _PreviousMethodID to get the first.
|
|
return the number of cell.
Definition at line 181 of file PackStruct.h. References PackStruct::m_NumberOfCell. |
|
In editable mode, it returns an information output to display, usually given in ProcessPreview(), using m_ObjectInfoLine.
Definition at line 403 of file BaseObject.h. References PackString::Get(), and BaseObject::m_ObjectInfoLine. |
|
If there is any, get the object that manages this one as a member.
Definition at line 170 of file BaseType.h. References BaseType::m_pObjectThatManagesThis. |
|
get the size of the whole byte chunk that will be written by Serialize_Out().
Reimplemented from PackStruct. Reimplemented in BaseContext, ClassNode, and InterfacePrefObject. |
|
Used by PackObjectReference for input serialization. See ClassNode::SetObjectsUniqueReferenceIndex().
Definition at line 317 of file BaseObject.h. References PackULong::Get(), and BaseObject::mSer_UniqueReference. |
|
return false if allocated but not created, true if also created.
Definition at line 332 of file BaseObject.h. |
|
if this object is refered by another one (which means: needed to be created.) directly, or indirectly through other objects references, it will return true, otherwise false if no dependance are found at all. This is a recursive test.
|
|
Tool that makes an object take the values of another using serialization. Use with care: You got to clone a PackUlong with a PackULong, a PackString with a PackString: Clone Object of the same type or it will crash . A test is done at the beginning to check that for both types are the sames, if not it does nothing. however it may still crash with 2 objects from unherited classes. Also, some type like PackObjectReference, will not clone its value by copying a pointer.Reference member clonage is done with BaseObject::Clone().
|
|
static method passed to the list to create new elements.
|
|
Extend this method to draw your preview ! a GUI could need to play, draw, print, or output from any way, a preview of a created object. Inherited classes can implement it in any way, to explicit the current shape of an object.
|
|
a GUI could need to play, draw, print, or output from any way, a preview of a created object. This is done with this method. sub classes can implement it (or not) in any way, to explicit current shape of an object.
Reimplemented from Object3DVirtual. Reimplemented in Object3DLWOResource. |
|
bool true if m_rgba used. Preview Tool: Create a preview line 3D Object.
|
|
Preview Tool: draw a grid 10x10 axis grid in the viewport's matrix state.
|
|
Try to read a serialized form, using Serialize_In().
|
|
Register any serializable object to serialize for read or write operation, Use it in objects constructors. The object are serialized in the file in the same order as they are given by this method.
|
|
Register a tool method. Do not use it directly, use macro version BASEOBJECT_REGISTER_TOOLMETHOD() It should be set in the constructors.
|
|
Process a real time computing and drawing. Can be extended.
|
|
Process a real time computing and drawing. Can be extended.
Reimplemented in Object3DLWOResource. |
|
Read the object description from a byte chunk. Could crash if chunk not valid.
Reimplemented from PackStruct. Reimplemented in BaseContext, and ClassNode. |
|
write the Current object definition to a Chunk using private packed types, recursively.
Reimplemented from PackStruct. Reimplemented in BaseContext, and ClassNode. |
|
The BaseContext the Object belong to. Should only be used by BaseContext at object creation. As it is set after construction, the chunk initialisation continue there the initialisation of registered members.
|
|
set FirstReferenceToThisObject, should be used privately.
Definition at line 304 of file BaseObject.h. References BaseObject::m_pFirstReferenceToThisObject. |
|
Explicits the use of an object when used as a class member. It should explain what the member does for the object. It exists only in editable mode,and can be used by any GUI. Don't use html tags , only \n are allowed. Use REGISTER_MEMBER_INFO macro after the REGISTER_MEMBER macro in the constructors. It can be left NULL.
|
|
Explicits the name of an object when used as a class member. It exists only in editable mode, and then can be used by any GUI. A member with an infoString not NULL, should be drawn in a GUI and receive updates. an object member with GetMemberName() returning NULL should not be edited by an interface or undo-managed. Use REGISTER_MEMBER macros family: it registers the members and use SetMemberName() automatically (or not, according to the compilation mode).
|
|
set the name of the object as a character string. This is copied of course.
|
|
The Object this one belong to as a member. Should only be used at init.
Reimplemented from BaseType. Reimplemented in PackResource. |
|
Used by the context to set the reference index for serialization, to manage PackObjectReference serialisation:.
Definition at line 311 of file BaseObject.h. References BaseObject::mSer_UniqueReference, and PackULong::Set(). |
|
any suit of call to ProcessPreview() should be done between StartPreview() and EndPreview() . EndPreview(). This is needed to stop sound mixing from the object when the preview change.
Reimplemented in VirtualMedia. Definition at line 373 of file BaseObject.h. |
|
convert the value of this object to an explicit string. The object manages the string privately, so just read it or copy it. the string would be destroyed with the objects, and changed when using Set() methods. Note: this is not virtual, but each class can manage m_pValueString or not.
Reimplemented from BaseType. Reimplemented in PackDynamicType. |
|
write a serialized form, using GetSerializedDescriptionSize() and Serialize_Out().
|
|
the rate of creation, 0.0f if created, 1.0f if not created at all.
Definition at line 489 of file BaseObject.h. Referenced by BaseObject::GetCreationRate(). |
|
current number of InternalObject3DBuffer created in table m_pObject3DVirtualBufferTable. Most of the time it's 1.
Definition at line 137 of file Object3DMeshVirtual.h. |
|
the static class description object, to be reimplemented in each class to describe it, with BASEOBJECT_DECLARE_VIRTUALCLASS / BASEOBJECT_DECLARE_CLASS macros
Definition at line 243 of file BaseObject.h. Referenced by InterfacePrefObject::Edited::Edited(), MediaTimePattern::PartToPlay::PartToPlay(), and InterfacePrefObject::PreviewEdited::PreviewEdited(). |
|
In editable mode, if Create() fail, this string may be inited.
Definition at line 485 of file BaseObject.h. |
|
an object shape is relative to a time date, and the extended object's attributes.
Definition at line 93 of file Object3DMeshVirtual.h. |
|
the number of cell.
Definition at line 197 of file PackStruct.h. Referenced by PackStruct::GetNumberOfCell(). |
|
In editable mode, an information output to display, in any form. usually given by ProcessPreview(). Definition at line 481 of file BaseObject.h. Referenced by BaseObject::GetObjectInfoLine(). |
|
an object can belong (or not) to a BaseContext, as an object.
Definition at line 93 of file NamedObject.h. Referenced by BaseObject::GetContext(). |
|
some optimsation stuff to not make the executable string table grow too much...
Definition at line 542 of file BaseObject.h. |
|
member that manages the list of members to serialize automatically.
Definition at line 193 of file PackStruct.h. Referenced by PackStruct::GetFirstCell(). |
|
In editable mode, trace the list of all reference to this object:.
Definition at line 493 of file BaseObject.h. Referenced by BaseObject::GetFirstReferenceToThisObject(), and BaseObject::SetFirstReferenceToThisObject(). |
|
next method or 0L.
Definition at line 538 of file BaseObject.h. |
|
another member that manages the list of members to serialize automatically, and allow to grow the list by the end.
Definition at line 195 of file PackStruct.h. Referenced by PackStruct::GetLastCell(). |
|
last shape modifier applied.
Definition at line 95 of file Object3DMeshVirtual.h. |
|
a short string explaining what's the object for in editable mode. OK if NULL (no info).
Definition at line 259 of file BaseType.h. Referenced by BaseType::GetMemberInfo(). |
|
If used as a member in an object, the member name, or NULL (not editable member).
Definition at line 255 of file BaseType.h. Referenced by BaseType::GetMemberName(). |
|
, should be available if created:
Definition at line 134 of file Object3DMeshVirtual.h. |
|
an object can belong (or not) to a BaseObject,( and to a BaseContext through it).
Definition at line 251 of file BaseType.h. Referenced by BaseType::GetObjectThatManagesThis(). |
|
used as a temp for object change notification in Begin/EndChangeNotification():
Definition at line 269 of file BaseType.h. |
|
a string standing for an expression of the value of the object:
Definition at line 264 of file BaseType.h. |
|
property flags (OB3DFlag_...)
Definition at line 113 of file Object3DMeshVirtual.h. |
|
the maximum number of Triangle.
Definition at line 41 of file Object3DVirtualDynamic.h. |
|
the maximum number of vertex.
Definition at line 39 of file Object3DVirtualDynamic.h. |
|
The only texture for the object. We support 1 texture by object in this class.
Definition at line 116 of file Object3DMeshVirtual.h. |
|
Unique reference used only for serilalization, and PackObjectReference resolution.
Definition at line 468 of file BaseObject.h. Referenced by BaseObject::GetUniqueReference(), and BaseObject::SetUniqueReference(). |
|
Serializable member that stands for the name of the object, and can be used to reference it in the context database. A name should not (and can't) be used twice in the whole context. Definition at line 90 of file NamedObject.h. Referenced by NamedObject::GetName(). |
|
all named objects, ClassNode and BaseObjects, has the ability to jump over the chunk without reading it:
Definition at line 86 of file NamedObject.h. Referenced by NamedObject::GetChunkLength(). |
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/