#include <PackFloat_FixedPoint.h>
Inherits PackFloat.
Inherited by PackList_TimeBlockTrack::TimeBlockTrackElement::PackFloat_FixedPoint_TimeBlock, and PackList_TimeTrack::TimeTrackElement::PackFloat_FixedPoint_Time.
Definition at line 20 of file PackFloat_FixedPoint.h.
Public Types | |
enum | VectorDimension { vd_X = 1, vd_XY = 2, vd_XYZ = 3, vd_XYZD = 4 } |
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 | |
PackFloat_FixedPoint () | |
Constructor by default number of bit after the point is 6: (_ValueToMultiplyFromIntToFloat=1/64.0). | |
PackFloat_FixedPoint (const float _ValueToMultiplyFromIntToFloat) | |
Constructor. | |
PackFloat_FixedPoint (VectorDimension _DimensionEnum, const float _ValueToMultiplyFromIntToFloat) | |
Constructor To initialize PackFloat as a multi dimentional vector. | |
virtual | ~PackFloat_FixedPoint (void) |
Destructor. | |
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. | |
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 * | 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 void | Set (float _value) |
change the value: | |
virtual void | Set (unsigned int _dimensionIndex, float _value) |
change the value of a given dimension: | |
void | Set3f (float _x, float _y, float _z) |
change values of X,Y and Z. | |
float | Get () const |
Get the value. | |
float | Get (unsigned int _dimensionIndex) const |
Get the value. WILL CRASH IF _dimensionIndex>2. | |
VectorDimension | GetVectorDimension () |
return Dimension Managed. it should be | |
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(). | |
virtual void | SetObjectThatManagesThis (BaseObject *_pManager) |
The Object this one belong to as a member. Should only be used at init. | |
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 Attributes | |
static const float | m_0p0 |
public const float value in order to optimize size access for equations: | |
static const float | m_0p01 |
static const float | m_0p00001 |
static const float | m_0p25 |
static const float | m_0p5 |
static const float | m_1p0 |
static const float | m_2p0 |
static const float | m_255p0 |
static const float | m_256p0 |
static const float | m_0p0625 |
static const float | m_100p0 |
static const float | m_1Div255 |
static const float | m_1Div256 |
static const float | m_1Div64 |
static const float | m_Pi |
static const float | m_2Pi |
static const float | m_180DivPi |
static const float | m_32767p0 |
static const float | m_Max |
Protected Member Functions | |
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 | |
float | m_ValueToMultiplyFromIntToFloat |
the value that give the ratio for serialization: | |
float | m_value [vd_XYZD] |
the value of this class: | |
const unsigned int | m_NumberOfDimensionManaged |
the number of Dimension managed if PackFloat was initialized as a vector | |
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 |
|
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. |
|
Definition at line 40 of file PackFloat.h. |
|
Constructor by default number of bit after the point is 6: (_ValueToMultiplyFromIntToFloat=1/64.0).
|
|
Constructor.
|
|
Constructor To initialize PackFloat as a multi dimentional vector.
|
|
Destructor.
|
|
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.
|
|
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.
|
|
Get the value. WILL CRASH IF _dimensionIndex>2.
Definition at line 137 of file PackFloat.h. References PackFloat::m_value. |
|
|
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.
Reimplemented from PackFloat. Definition at line 78 of file PackFloat_FixedPoint.h. |
|
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. |
|
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 PackFloat. |
|
return Dimension Managed. it should be
Definition at line 145 of file PackFloat.h. |
|
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().
|
|
Try to read a serialized form, using Serialize_In().
|
|
Read the object description from a byte chunk. Could crash if chunk not valid.
Reimplemented from PackFloat. |
|
write the Current object definition to a Chunk using private packed types, recursively.
Reimplemented from PackFloat. |
|
change the value of a given dimension:
Reimplemented in PackFloatByte_Limits. |
|
|
change values of X,Y and Z.
Definition at line 125 of file PackFloat.h. References PackFloat::Set(). |
|
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).
|
|
The Object this one belong to as a member. Should only be used at init.
Reimplemented in PackObjectReference, PackResource, PackStruct, and PackTreeCell. |
|
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. |
|
write a serialized form, using GetSerializedDescriptionSize() and Serialize_Out().
|
|
public const float value in order to optimize size access for equations:
Definition at line 145 of file PackFloat.h. |
|
the number of Dimension managed if PackFloat was initialized as a vector
Definition at line 176 of file PackFloat.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(). |
|
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. |
|
the value of this class:
Definition at line 173 of file PackFloat.h. Referenced by PackFloat::Get(). |
|
the value that give the ratio for serialization:
Definition at line 78 of file PackFloat_FixedPoint.h. |
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/