fastest 3D software for linux

Linux 3D
interactive ray-tracing
[1 introduction] [2 overview] [3 reference] [4 GUI]

Index

 E3dObject_RemoveFromModels
 E3dObject_LockFind
 E3dObject_LockAdd
 E3dObject_LockDel
 E3dSel_ObjectModelsSetSelection
 E3dObject_GetSelectingModel
 E3dObject_GetVisibleModel
 E3dObject_FreeRenderData
 E3dObjectComponent_ClassFindByName
 E3dObjectComponent_ClassRegister
 E3dObjectComponent_ClassDeactivate
 E3dObjectComponent_Add
 E3dObjectComponent_AddCopy
 E3dObjectComponent_Remove
 E3dObjectComponent_RemoveAll
 E3dObjectComponent_ByClass
 E3dObject_ComponentsCallUpdate


E3dObject_RemoveFromModels

Remove an Object from all Models that instantiate it

Syntax
EBool E3dObject_RemoveFromModels(E3dObject* PObject)

Arguments
E3dObject* PObject Pointer to the E3dObject to free
Description
Removes an E3dObject from all Models that instantiate it.

Return value
TRUE, if successful, FALSE otherwise.

E3dObject_LockFind

Find a Lock on an Object

Syntax
EIndex E3dObject_LockFind(const E3dObject* PObject, const E3dLock* PLock)

Arguments
const E3dObject* PObject Pointer to the E3dObject const E3dLock* PLock Pointer to the E3dLock
Description
Returns the index of PLock in the PObject->Locks array, or E_NOT_FOUND if it's not in the array. Locks are used to indicate that an Object is in use and it's not safe to destroy the Object. For example, a Lock is added to an Object, when its attributes are being edited and a dialog box is displayed.

Return value
See above

See also
E3dObject_LockAdd, E3dObject_LockDel

E3dObject_LockAdd

Add a Lock to an Object

Syntax
EBool E3dObject_LockAdd(E3dObject* PObject, E3dLock* PLock)

Arguments
E3dObject* PObject Pointer to the E3dObject E3dLock* PLock Pointer to the E3dLock
Description
Adds PLock to the PObject->Locks array, if it's not already in that array.

Return value
TRUE, if successful, otherwise FALSE.

See also
E3dObject_LockFind, E3dObject_LockDel

E3dObject_LockDel

Remove lock from an Object

Syntax
EBool E3dObject_LockDel(E3dObject* PObject, E3dLock* PLock)

Arguments
E3dObject* PObject Pointer to the E3dObject E3dLock* PLock Pointer to the E3dLock
Description
Removes PLock from the PObject->Locks array, if it was in that array.

Return value
TRUE, if successful, otherwise FALSE.

See also
E3dObject_LockFind, E3dObject_LockAdd

E3dSel_ObjectModelsSetSelection

Set the Selection field of the Models of an Object to a given value

Syntax
void E3dSel_ObjectModelsSetSelection(E3dObject* PObject, const int PSelection)

Arguments
E3dObject* PObject Pointer to the E3dObject const int PSelection The selecion mode.
Description
Sets the Selection field of all Models that instantiate PObject, to PSelection. Valid values are E3dNodeSelOBJECT, E3dNodeSelNODE, E3dNodeSelBRANCH and E3dNodeSelBRANCH_ROOT.

Return value
None.

E3dObject_GetSelectingModel

Find the Model of an Object that has it selected

Syntax
E3dModel* E3dObject_GetSelectingModel(const E3dObject* PObject, const EBool PVisibleOnly)

Arguments
const E3dObject* PObject Pointer to the E3dObject const EBool PVisibleOnly If TRUE, only consider visible Models
Description
Returns the Model that instantiates PObject and causes PObject to be selected.
For an Object to be considered selected, at least one of its instantiating Models must be selected (their Selection field must have the value E3dNodeSelNODE, E3dNodeSelBRANCH or E3dNodeSelBRANCH_ROOT). Or, all of these Models must be selected with E3dNodeSelOBJECT in their Selection field.
The first one of such Models will be returned.
This function is very useful when performing an operation on a selected Object where a world-space transformation is involved.
In such case, we need to know which Model's transformation applies.

Return value
The first Model that causes PObject to be selected, or NULL.

E3dObject_GetVisibleModel

Find the first visible Model of an Object

Syntax
E3dModel* E3dObject_GetVisibleModel(const E3dObject* PObject)

Argument
const E3dObject* PObject Pointer to the E3dObject
Description
Returns the first visible Model that instantiates PObject, or NULL if no such Model is found.

Return value
See above.

E3dObject_FreeRenderData

Free rendering information of an E3dObject

Syntax
void E3dObject_FreeRenderData(E3dObject* PObject)

Argument
E3dObject* PObject Pointer to the E3dObject
Description
Frees cached rendering data associated with an E3dObject by calling the E3dObject's FreeRenderData() member function. Such data may be large and can be recomputed when needed, so to save memory, it is usually freed when an E3dObject is deleted from the Scene and added to the undo stack.

Return value
None.

See also
E3dObject_UpdateForDisplay

E3dObjectComponent_ClassFindByName

Find an ObjectComponentClass by its name

Syntax
E3dObjectComponentClass* E3dObjectComponent_ClassFindByName(const char* PName)

Argument
const char* PName Name of the E3dObjectComponentClass
Description
Finds a registered E3dObjectComponentClass by name.

Return value
Pointer to the E3dObjectComponentClass, if found, otherwise NULL.

E3dObjectComponent_ClassRegister

Register a new ObjectComponent class

Syntax
E3dObjectComponentClass* E3dObjectComponent_ClassRegister(E3dObjectComponentClass* PDescriptor)

Argument
E3dObjectComponentClass* PDescriptor Descriptor struct (see E3D/Object.h)
Description
Registers a new E3dObjectComponentClass.
Runtime-typed E3dObjectComponent records can be stored on E3dObjects to provide all kinds of dynamic information, such as:
- Construction history (e.g. a Mesh will remember that it's a "Torus", or that it was created by "revolving" a Spline)
- Dynamic modeling data, such as subdivision information (a subdivision surface is just an E3dMesh with an E3dObjectComponent)
- Fluid simulation data and code, such as particles and/or wave information
- Custom data, such as real-time global illumination information on the Vertices of a Mesh
practically anything...

Return value
Pointer to the new E3dObjectComponentClass, or NULL in case of an error. See also E3dObjectComponent_ClassFindByName, E3dObjectComponent_ClassDeactivate, E3dObjectComponent_ClassesFree

See also
E3dObjectComponent_ClassFindByName, E3dObjectComponent_ClassDeactivate, E3dObjectComponent_ClassesFree

E3dObjectComponent_ClassDeactivate

Deactivate an ObjectComponentClass

Syntax
void E3dObjectComponent_ClassDeactivate(E3dObjectComponentClass* PClass)

Argument
E3dObjectComponentClass* PClass The Class to be deactivated
Description
Clears member function pointers etc. in the given Class, but keeps the Class registered. Usually called when the plugin that registered the Class is unloaded to be edited and reloaded on the fly. This allows for keeping the data associated with this class on instances when the code needs to be changed. The Class can be later re-activated when the plugin is reloaded. For example, if a bug is found in the Sphere plugin while testing a scene with, say 500 spheres, the plugin can be unloaded/changed/reloaded all without exiting EQUINOX-3D or deleting/recreating the 500 spheres.

Return value
None.

See also
E3dObjectComponent_ClassRegister, E3dObjectComponent_ClassFindByName, E3dObjectComponent_ClassesFree

E3dObjectComponent_Add

Add an Component of a given Class to an Object

Syntax
E3dObjectComponent* E3dObjectComponent_Add(E3dObject* PObject, E3dObjectComponentClass* PClass)

Arguments
E3dObject* PObject Pointer to the E3dObject E3dObjectComponentClass* PClass Pointer to the Class
Description
Creates a new ObjectComponent of the given Class and adds it to the PObject->Components array.

Return value
Pointer to the new ObjectComponent, or NULL, in case of an error.

See also
E3dObjectComponent_Remove, E3dObjectComponent_RemoveAll

E3dObjectComponent_AddCopy

Copy an ObjectComponent and add it to an Object

Syntax
E3dObjectComponent* E3dObjectComponent_AddCopy(const E3dObject* PSrcObject, E3dObjectComponent* PSrcComponent, E3dObject* PDstObject)

Arguments
PObject Pointer to the E3dObject PClass Pointer to the Class
Description
Creates a copy of the given ObjectComponent and adds it to PDstObject.

Return value
Pointer to the new ObjectComponent, or NULL, in case of an error.

See also
E3dObjectComponent_Remove, E3dObjectComponent_RemoveAll

E3dObjectComponent_Remove

Remove Component from an Object

Syntax
int E3dObjectComponent_Remove(E3dObject* PObject, E3dObjectComponent* PInfo)

Arguments
E3dObject* PObject Pointer to the E3dObject E3dObjectComponent* PInfo Pointer to the Component
Description
Removes PInfo from the PObject->Components array (if it's in that array) and destroys PInfo.

Return value
TRUE, if successful, otherwise FALSE.

See also
E3dObjectComponent_RemoveAll, E3dObjectComponent_Add

E3dObjectComponent_RemoveAll

Remove all Components from an Object

Syntax
void E3dObjectComponent_RemoveAll(E3dObject* PObject)

Argument
E3dObject* PObject Pointer to the E3dObject
Description
Removes all Components from the PObject->Components array and destroys those Components.

Return value
None.

See also
E3dObjectComponent_Add, E3dObjectComponent_Remove

E3dObjectComponent_ByClass

Find Component of an Object by its Class

Syntax
E3dObjectComponent* E3dObjectComponent_ByClass(const E3dObject* PObject, const E3dObjectComponentClass* PClass)

Arguments
const E3dObject* PObject Pointer to the E3dObject const E3dObjectComponentClass* PClass Pointer to the Class
Description
Returns the first Component in PObject->Components array that matches the given Class.

Return value
Pointer to the Component, or NULL, if no Component matching PClass was found.

See also
E3dObjectComponent_Add, E3dObjectComponent_Remove, E3dObjectComponent_RemoveAll

E3dObject_ComponentsCallUpdate

Call the Update() method of all Components on an Object

Syntax
int E3dObject_ComponentsCallUpdate(E3dObject* PObject, const EChangeFlags PUpdateFlags, EChangeFlags* PTriggeredChangeFlagsP)

Arguments
E3dObject* PObject Object to update const EChangeFlags PUpdateFlags Or-ed flags indicating what changed EChangeFlags* PTriggeredChangeFlagsP Flags for triggered changes will be returned here
Description
If PObject is NULL, this function creates a new Object and calls the Update method of PObject. On a new Object, the Update method will add an ObjectComponent of class PObjectComponentTemplate->Class. If PObject is not NULL, it will update the Objects Resources to match PObjectComponentTemplate. This function is to be used inside plugins that register the runtime class in question because PObjectComponentTemplate must match the physical structure of the actual runtime object-component.

Return value
E_SUCCESS, or an error, such as E_NO_DATA, if there are no Component on the Object

See also
E3dModel_CustomObjectNew, E3dModel_CustomObjectNewInit
© 1996-2022 By Gabor Nagy