fastest 3D software for linux

Linux 3D
interactive ray-tracing

Index

 E3d_AnimationAddChannel
 E3d_AnimationRemoveChannel
 E3d_AnimationRemoveChannels
 E3d_AnimationClassFindByName
 E3d_AnimationClassRegister
 E3d_AnimationClassRegisterInactive
 E3d_AnimationClassDeactivate
 E3d_AnimationChannelAddKeyFrame
 E3d_KeyFrameAnimationAddKey
 E3d_AnimationChannelSampleFrames


E3d_AnimationAddChannel

Add a new Channel to an Animation

Syntax
E3dAnimationChannel* E3d_AnimationAddChannel(E3dAnimation* PAnimation)

Argument
E3dAnimation* PAnimation Pointer to the Animation
Description
Adds a new Channel to PAnimation.

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

E3d_AnimationRemoveChannel

Remove a Channel from an Animation

Syntax
int E3d_AnimationRemoveChannel(E3dAnimation* PAnimation, E3dAnimationChannel* PChannel)

Argument
E3dAnimation* PAnimation Pointer to the Animation E3dAnimationChannel* PChannel Pointer to the Channel to remove
Description
Removes PChannel from PAnimation.

Return value
E_SUCCESS on success, or an error code.

E3d_AnimationRemoveChannels

Remove all Channels from an Animation

Syntax
void E3d_AnimationRemoveChannels(E3dAnimation* PAnimation)

Argument
E3dAnimation* PAnimation Pointer to the Animation
Description
Removes all Channels from PAnimation.

Return value
None.

E3d_AnimationClassFindByName

Find an Animation class by its name

Syntax
E3dAnimationClass* E3d_AnimationClassFindByName(const char* PName)

Argument
const char* PName The name
Description
Find a registered Animation class by name.

Return value
Pointer to the Animation class, or NULL, if it was not found.

E3d_AnimationClassRegister

Register a new Animation class

Syntax
E3dAnimationClass* E3d_AnimationClassRegister(const E3dAnimationClass* PDescriptor)

Argument
const E3dAnimationClass* PDescriptor Template structure for the new class
Description
Register a new Animation class.

Return value
Pointer to the newly registered Animation class, or NULL, in case of an error.

E3d_AnimationClassRegisterInactive

Register a "blank" Animation class

Syntax
E3dAnimationClass* E3d_AnimationClassRegisterInactive(const char* PName)

Argument
const char* PName The name
Description
Register a new, inactive Animation class, with only the class name (no constructor/destructor etc.).
These are used as place holders until, for example until the plugin that implements this class is loaded.
This allows for creating instances of this class (e.g. when reading a file) before the class implementation is available.

Return value
Pointer to the newly registered Animation class, or NULL, in case of an error.

E3d_AnimationClassDeactivate

Deactivate an Animation class

Syntax
void E3d_AnimationClassDeactivate(E3dAnimationClass* PClass)

Argument
E3dAnimationClass* PClass Pointer to the class
Description
Deactivate a registered Animation class, but don't remove it from the database. This is usualy done when the plugin that registered the class is unloaded. This allows for unloading / modifying / recompiling / reloading plugins without losing all the objects of this class. All instances (objects of this class) will be deactivated. If the plugin is reloaded, it can reconfigure and reactivate the class and all objects of this class will be functional again.

Return value
None.

E3d_AnimationChannelAddKeyFrame

Add a KeyFrame to an AnimationChannel

Syntax
EIndex E3d_AnimationChannelAddKeyFrame(E3dKeyFrameAnimationChannel* PChannel, const double PTime, const double PTimeEpsilon, const double PValue, const int PInterpolation, const E3dCoordinate PEaseInOut, const EBool PTesselateCurves)

Arguments
E3dKeyFrameAnimationChannel* PChannel Pointer to the AnimationChannel const double PTime Time value (X) const double PTimeEpsilon Find closest existing key within this distance from PTime const double PValue Output value (Y) const int PInterpolation Interpolation type of the segment starting at the new key (e.g. E3dSplLINEAR) const E3dCoordinate PEaseInOut Smooth tranision (spline CV tangent length proportional to the closest key in that direction) PUpdateSplines If TRUE, call E3d_SplineCreateLinearSegments for the curve
Description
Add a new key (CV) to a KeyFrame Animation channel. If PTimeEpsilon is negative, the new key will be simply added after the last one (no proximity range is used for finding the insertion position).

Return value
The index of the new key (Spline CV)

E3d_KeyFrameAnimationAddKey

Add KeyFrame to a KeyFrame Animation

Syntax
EIndex E3d_KeyFrameAnimationAddKey(E3dKeyFrameAnimation* PAnimation, E3dKeyFrameAnimationChannel** PChannelRet, const char* PName, const EcRGBAp8Color PColor, const double PTime, const double PTimeEpsilon, const double PValue, const int PInterpolation, const E3dCoordinate PEaseInOut, EObject* PTargetObject, EObject* PTargetSubObject, const EResource* PTargetMember, const EBool PUpdateSplines)

Arguments
E3dKeyFrameAnimation* PAnimation Pointer to the Animation E3dKeyFrameAnimationChannel** PChannelRet Return value for the Channel const char* PName Channel name const EcRGBAp8Color PColor RGBA8 color for the Channel's curve (Spline) const double PTime Time value (X) const double PTimeEpsilon Find closest existing key within this distance from PTime const double PValue Output value (Y) const E3dCoordinate PEaseInOut Smooth tranision (spline CV tangent length proportional to the closest key in that direction) const int PInterpolation Interpolation type of the segment starting at the new key (e.g. E3dSplLINEAR) EObject* PTargetObject The targetted Object (e.g. Node) EObject* PTargetSubObject The targetted SubObject (Rotation, ObjectComponent, etc.) const EResource* PTargetMember The targetted member (field) of PTargetSubObject (".X", ".Offset", etc.) const EBool PUpdateSplines If TRUE, call E3d_SplineCreateLinearSegments for the curve
Description
Add a new key (CV) to a KeyFrame Animation. It looks up the Animation Channel, based on PTargetObject, PTargetSubObject and PTargetMember. If that channel does not exist under PAnimation, it creates a new Channel, wit the given name and curve (Spline ) color. If PTimeEpsilon is negative, no proximity range is used for finding the insertion position for the new key.

Return value
PName Channel name PColor RGBA8 color for the Channel's curve (Spline) PTime Time value (X) PTimeEpsilon Find closest existing key within this distance from PTime PValue Output value (Y) PEaseInOut Smooth tranision (spline CV tangent length proportional to the closest key in that direction) PInterpolation Interpolation type of the segment starting at the new key (e.g. E3dSplLINEAR) PTargetObject The targetted Object (e.g. Node) PTargetSubObject The targetted SubObject (Rotation, ObjectComponent, etc.) PTargetMember The targetted member (field) of PTargetSubObject (".X", ".Offset", etc.) PUpdateSplines If TRUE, call E3d_SplineCreateLinearSegments for the curve

E3d_AnimationChannelSampleFrames

Sample the values of an AnimationChannel at a regular interval

Syntax
EIndex E3d_AnimationChannelSampleFrames(E3dAnimationChannel* PChannel, const double PStartTime, const double PEndTime, const double PFramesPerSecond, float** PValuesP, EIndex* PValues_CountAllocatedP)

Arguments
E3dAnimationChannel* PChannel The channel const double PStartTime The starting time const double PEndTime The ending time const double PFramesPerSecond Sample rate float** PValuesP Pointer to return the resulting array EIndex* PValues_CountAllocatedP Number of entries allocated
Description
Samples the Y values of PChannel in 1/PFramesPerSecond steps in the time interval given. PValues_CountAllocatedP allows for reusing an array between calls to this function, rather than allocating/freeing several times. If PStartTime is E3dSTARTF, sample from the beginning of data found in the animation (e.g. the lowest X value of an animation curve). If PEndTime is E3dENDF, sample to the end of data found in the animation (e.g. the largest X value of an animation curve).

Return value
The number of samples.
© 1992-2017 By Gabor Nagy