fastest 3D software for linux

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

Index

 E3dAnimation_AddChannel
 E3dAnimation_RemoveChannel
 E3dAnimation_RemoveChannels
 E3dAnimation_ClassFindByName
 E3dAnimation_ClassRegister
 E3dAnimation_ClassRegisterInactive
 E3dAnimation_ClassDeactivate
 E3dAnimation_ByClass
 E3dKeyframeAmination_AddChannel
 E3dKeyFrameAnimation_AddKey
 E3dAnimationChannel_AddKeyFrame
 E3dAnimationChannel_SampleFrames
 E3dAnimStack_AnimationAppend
 E3dAnimStack_AnimationAdd
 E3dAnimStack_AnimationRemove

E3dAnimation_AddChannel

Add a new Channel to an Animation

Syntax
E3dAnimationChannel* E3dAnimation_AddChannel(E3dAnimation* PAnimation)

Argument
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.

E3dAnimation_RemoveChannel

Remove a Channel from an Animation

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

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

Return value
E_SUCCESS on success, or an error code.

E3dAnimation_RemoveChannels

Remove all Channels from an Animation

Syntax
void E3dAnimation_RemoveChannels(E3dAnimation* PAnimation)

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

Return value
None.

E3dAnimation_ClassFindByName

Find an Animation class by its name

Syntax
E3dAnimationClass* E3dAnimation_ClassFindByName(const char* PName)

Argument
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.

E3dAnimation_ClassRegister

Register a new Animation class

Syntax
E3dAnimationClass* E3dAnimation_ClassRegister(const E3dAnimationClass* PDescriptor)

Argument
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.

E3dAnimation_ClassRegisterInactive

Register a "blank" Animation class

Syntax
E3dAnimationClass* E3dAnimation_ClassRegisterInactive(const char* PName)

Argument
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.

E3dAnimation_ClassDeactivate

Deactivate an Animation class

Syntax
void E3dAnimation_ClassDeactivate(E3dAnimationClass* PClass)

Argument
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.

E3dAnimation_ByClass

Find an Animation by its Class

Syntax
E3dAnimation* E3dAnimation_ByClass(E3dAnimation** PAnimations, const EIndex PCount, E3dAnimationClass* PClass)

Arguments
PAnimations Array of Animation pointers PCount Number of entries in PAnimations PClass Pointer to the class
Description
Returns the first Animation from the list, that has the given Class

Return value
None.

E3dKeyframeAmination_AddChannel

Add a Channel to a KeyFrameAnimation

Syntax
E3dKeyFrameAnimationChannel* E3dKeyframeAmination_AddChannel(E3dKeyFrameAnimation* PAnimation, const char* PName, const EcRGBAp8Color PColor, EObject* PTargetObject, EObject* PTargetSubObject, const EResource* PTargetMember, const EIndex PTargetIndex, const EIndex PNCurvePoints)

Arguments
PAnimation The Animation PName The name of the new Channel PColor Color for the new Channel's curve PTargetObject The targetted Object (e.g. Node) PTargetSubObject The targetted SubObject (Rotation, ObjectComponent, etc.) PTargetMember The targetted member (field) of PTargetSubObject (".X", ".Offset", etc.) PTargetIndex The targetted element if PTargetMember is an array PNCurvePoints Numbe of points to allocate on the curve
Description
Add a new Channel to a KeyFrameAnimation and initialize it. If PNCurvePoints is -1, no Spline is created. Otherwise, a Spline is created and assigned to the Curve member. If PNCurvePoints > 0, CVs will be allocated for the Spline as well.

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

E3dKeyFrameAnimation_AddKey

Add KeyFrame to a KeyFrame Animation

Syntax
EIndex E3dKeyFrameAnimation_AddKey(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 EIndex PTargetIndex, const EBool PUpdateSplines)

Arguments
PAnimation Pointer to the Animation PChannelRet Return value for the Channel 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 (E3dNode, E3dObject etc.) PTargetSubObject The targetted SubObject (Rotation, E3dObjectComponent, etc.) PTargetMember The targetted member (field) of PTargetSubObject (".X", ".Offset", etc.) PTargetIndex The targetted element if PTargetMember is an array PUpdateSplines If TRUE, call E3dSpline_CreateLinearSegments 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, with 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 (E3dNode, E3dObject etc.) PTargetSubObject The targetted SubObject (Rotation, E3dObjectComponent, etc.) PTargetMember The targetted member (field) of PTargetSubObject (".X", ".Offset", etc.) PTargetIndex The targetted element if PTargetMember is an array PUpdateSplines If TRUE, call E3dSpline_CreateLinearSegments for the curve

E3dAnimationChannel_AddKeyFrame

Add a KeyFrame to an AnimationChannel

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

Arguments
PChannel Pointer to the AnimationChannel PTime Time value (X) PTimeEpsilon Find closest existing key within this distance from PTime PValue Output value (Y) PInterpolation Interpolation type of the segment starting at the new key (e.g. E3dSplLINEAR) PEaseInOut Smooth tranision (spline CV tangent length proportional to the closest key in that direction) PUpdateSplines If TRUE, call E3dSpline_CreateLinearSegments 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)

E3dAnimationChannel_SampleFrames

Sample the values of an AnimationChannel at a regular interval

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

Arguments
PChannel The channel PStartTime The starting time PEndTime The ending time PFramesPerSecond Sample rate PValuesP Pointer to return the resulting array 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.

E3dAnimStack_AnimationAppend

Append an Animation to an AnimStack

Syntax
void E3dAnimStack_AnimationAppend(E3dAnimStack* PStack, E3dAnimation* PAnimation)

Arguments
PStack Pointer to the AnimStack structure PAnimation Pointer to the new Animation structure
Description
Checks if the given Animation is in the given stack. If not, adds it to the array: PStack->Animations.

Return value
None.

See also
E3dAnimStack_AnimationRemove

E3dAnimStack_AnimationAdd

Create a new Animation and add it to an AnimStack

Syntax
E3dAnimation* E3dAnimStack_AnimationAdd(E3dAnimStack* PStack, E3dAnimationClass* PClass)

Arguments
PStack Pointer to the AnimStack structure PAnimation Pointer to the new Animation structure
Description
Creates an Animation of the given Class, and adds it to the array: PAnimStack->Animations.

Return value
None.

See also
E3dAnimStack_AnimationRemove

E3dAnimStack_AnimationRemove

Remove an Animation from an AnimStack

Syntax
EBool E3dAnimStack_AnimationRemove(E3dAnimStack* PStack, E3dAnimation* PAnimation, const EBool PRemoveResidentAnim)

Arguments
PStack Pointer to the AnimStack PAnimation Pointer to the Animation PRemoveResidentAnim Remove Animation, even if it's marked non-Removable
Description
Checks if the given hierarchy is in the Scene (it's in Animations array of the Scene). If it is, it removes it from that array.

Return value
TRUE on success, FALSE if failed (e.g. PAnimation was not in PScene)

See also
E3dAnimStack_AnimationAdd
© 1996-2024 By Gabor Nagy