fastest 3D software for linux

Linux 3D
interactive ray-tracing

Index

 E3d_ObjectRemoveFromModels
 E3d_ObjectLockFind
 E3d_ObjectLockAdd
 E3d_ObjectLockDel
 E3dSel_ObjectModelsSetSelection
 E3d_ObjectGetSelectingModel
 E3d_ObjectGetVisibleModel
 E3d_ObjectFreeRenderData
 E3d_ObjectComponentClassFindByName
 E3d_ObjectComponentClassRegister
 E3d_ObjectComponentClassDeactivate
 E3d_ObjectComponentAdd
 E3d_ObjectComponentAddCopy
 E3d_ObjectComponentRemove
 E3d_ObjectComponentRemoveAll
 E3d_ObjectComponentByClass
 E3d_ObjectCustomUpdate


E3d_ObjectRemoveFromModels

Remove an Object from all Models that instantiate it

Syntax
EBool E3d_ObjectRemoveFromModels(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.

E3d_ObjectLockFind

Find a Lock on an Object

Syntax
EIndex E3d_ObjectLockFind(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
E3d_ObjectLockAdd, E3d_ObjectLockDel

E3d_ObjectLockAdd

Add a Lock to an Object

Syntax
EBool E3d_ObjectLockAdd(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
E3d_ObjectLockFind, E3d_ObjectLockDel

E3d_ObjectLockDel

Remove lock from an Object

Syntax
EBool E3d_ObjectLockDel(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
E3d_ObjectLockFind, E3d_ObjectLockAdd

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.

E3d_ObjectGetSelectingModel

Find the Model of an Object that has it selected

Syntax
E3dModel* E3d_ObjectGetSelectingModel(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.

E3d_ObjectGetVisibleModel

Find the first visible Model of an Object

Syntax
E3dModel* E3d_ObjectGetVisibleModel(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.

E3d_ObjectFreeRenderData

Free rendering information of an E3dObject

Syntax
void E3d_ObjectFreeRenderData(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
E3d_ObjectUpdateForDisplay

E3d_ObjectComponentClassFindByName

Find an ObjectComponentClass by its name

Syntax
E3dObjectComponentClass* E3d_ObjectComponentClassFindByName(const char* PName)

Argument
LName Name of the E3dObjectComponentClass
Description
Finds a registered E3dObjectComponentClass by name.

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

E3d_ObjectComponentClassRegister

Register a new ObjectComponent class

Syntax
E3dObjectComponentClass* E3d_ObjectComponentClassRegister(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 E3d_ObjectComponentClassFindByName, E3d_ObjectComponentClassDeactivate, E3d_ObjectComponentClassesFree

See also
E3d_ObjectComponentClassFindByName, E3d_ObjectComponentClassDeactivate, E3d_ObjectComponentClassesFree

E3d_ObjectComponentClassDeactivate

Deactivate an ObjectComponentClass

Syntax
void E3d_ObjectComponentClassDeactivate(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
E3d_ObjectComponentClassRegister, E3d_ObjectComponentClassFindByName, E3d_ObjectComponentClassesFree

E3d_ObjectComponentAdd

Add an Component of a given Class to an Object

Syntax
E3dObjectComponent* E3d_ObjectComponentAdd(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
E3d_ObjectComponentRemove, E3d_ObjectComponentRemoveAll

E3d_ObjectComponentAddCopy

Copy an ObjectComponent and add it to an Object

Syntax
E3dObjectComponent* E3d_ObjectComponentAddCopy(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
E3d_ObjectComponentRemove, E3d_ObjectComponentRemoveAll

E3d_ObjectComponentRemove

Remove Component from an Object

Syntax
int E3d_ObjectComponentRemove(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
E3d_ObjectComponentRemoveAll, E3d_ObjectComponentAdd

E3d_ObjectComponentRemoveAll

Remove all Components from an Object

Syntax
void E3d_ObjectComponentRemoveAll(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
E3d_ObjectComponentAdd, E3d_ObjectComponentRemove

E3d_ObjectComponentByClass

Find Component of an Object by its Class

Syntax
E3dObjectComponent* E3d_ObjectComponentByClass(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
E3d_ObjectComponentAdd, E3d_ObjectComponentRemove, E3d_ObjectComponentRemoveAll

E3d_ObjectCustomUpdate

Create/update an Object with the specified runtime-class component

Syntax
E3dObject* E3d_ObjectCustomUpdate(E3dObject* PObject, void* PObjectComponentTemplate, const EChangeFlags PUpdateFlags, EChangeFlags* PTriggeredChangeFlagsP)

Arguments
E3dObject* PObject Object to update void* PObjectComponentTemplate Component template that specifies the values const EChangeFlags PUpdateFlags Or-ed flags indicating what changed
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 a runtime-typed component of class PObjectComponentTemplate->Class, while on an existing Object it will update the Objects Resources to that of 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
PObject, or a pointer to the new Object if one was created.

See also
E3d_ModelCustomObjectNew, E3d_ModelCustomObjectNewInit
© 1992-2017 By Gabor Nagy