Animation Nodes


Data Structures

struct  Lib3dsAmbientData
 Scene graph ambient color node data. More...
struct  Lib3dsObjectData
 Scene graph object instance node data. More...
struct  Lib3dsCameraData
 Scene graph camera node data. More...
struct  Lib3dsTargetData
 Scene graph camera target node data. More...
struct  Lib3dsLightData
 Scene graph light node data. More...
struct  Lib3dsSpotData
 Scene graph spotlight target node data. More...
union  Lib3dsNodeData
 Scene graph node data union. More...
struct  Lib3dsNode
 Scene graph node. More...

Defines

#define LIB3DS_NO_PARENT   65535

Enumerations

enum  Lib3dsNodeFlags1 { LIB3DS_HIDDEN = 0x800 }
enum  Lib3dsNodeFlags2 { LIB3DS_SHOW_PATH = 0x1, LIB3DS_SMOOTHING = 0x2, LIB3DS_MOTION_BLUR = 0x10, LIB3DS_MORPH_MATERIALS = 0x40 }

Functions

Lib3dsNodelib3ds_node_new_ambient ()
Lib3dsNodelib3ds_node_new_object ()
Lib3dsNodelib3ds_node_new_camera ()
Lib3dsNodelib3ds_node_new_target ()
Lib3dsNodelib3ds_node_new_light ()
Lib3dsNodelib3ds_node_new_spot ()
void lib3ds_node_free (Lib3dsNode *node)
void lib3ds_node_eval (Lib3dsNode *node, Lib3dsFloat t)
Lib3dsNodelib3ds_node_by_name (Lib3dsNode *node, const char *name, Lib3dsNodeTypes type)
Lib3dsNodelib3ds_node_by_id (Lib3dsNode *node, Lib3dsWord node_id)
void lib3ds_node_dump (Lib3dsNode *node, Lib3dsIntd level)
Lib3dsBool lib3ds_node_read (Lib3dsNode *node, Lib3dsFile *file, Lib3dsIo *io)
Lib3dsBool lib3ds_node_write (Lib3dsNode *node, Lib3dsFile *file, Lib3dsIo *io)
void lib3ds_viewport_dump (Lib3dsViewport *vp)

Enumeration Type Documentation

enum Lib3dsNodeFlags1

Node flags #1.

Enumerator:
LIB3DS_HIDDEN 

Definition at line 154 of file node.h.

enum Lib3dsNodeFlags2

Node flags #2.

Enumerator:
LIB3DS_SHOW_PATH 
LIB3DS_SMOOTHING 
LIB3DS_MOTION_BLUR 
LIB3DS_MORPH_MATERIALS 

Definition at line 162 of file node.h.


Function Documentation

Lib3dsNode* lib3ds_node_by_id ( Lib3dsNode node,
Lib3dsWord  node_id 
)

Return a node object by id.

This function performs a recursive search for the specified node.

Parameters:
node The parent node for the search
node_id The target node id.
Returns:
A pointer to the first matching node, or NULL if not found.

Definition at line 416 of file node.c.

References Lib3dsNode::childs, lib3ds_node_by_id(), Lib3dsNode::next, and Lib3dsNode::node_id.

Referenced by lib3ds_file_node_by_id(), and lib3ds_node_by_id().

Lib3dsNode* lib3ds_node_by_name ( Lib3dsNode node,
const char *  name,
Lib3dsNodeTypes  type 
)

Return a node object by name and type.

This function performs a recursive search for the specified node. Both name and type must match.

Parameters:
node The parent node for the search
name The target node name.
type The target node type
Returns:
A pointer to the first matching node, or NULL if not found.

Definition at line 386 of file node.c.

References Lib3dsNode::childs, lib3ds_node_by_name(), Lib3dsNode::name, Lib3dsNode::next, and Lib3dsNode::type.

Referenced by lib3ds_file_node_by_name(), and lib3ds_node_by_name().

void lib3ds_node_dump ( Lib3dsNode node,
Lib3dsIntd  level 
)

Dump node and all descendants recursively.

Parameters:
node The top-level node to be dumped.
level current recursion depth

Definition at line 453 of file node.c.

References Lib3dsNode::childs, Lib3dsNode::data, Lib3dsObjectData::instance, lib3ds_node_dump(), Lib3dsNode::name, Lib3dsNode::next, Lib3dsNodeData::object, and Lib3dsNode::type.

Referenced by lib3ds_file_dump_nodes(), and lib3ds_node_dump().

void lib3ds_node_eval ( Lib3dsNode node,
Lib3dsFloat  t 
)

Evaluate an animation node.

Recursively sets node and its children to their appropriate values for this point in the animation.

Parameters:
node Node to be evaluated.
t time value, between 0. and file->frames

Definition at line 251 of file node.c.

References Lib3dsNodeData::ambient, Lib3dsNodeData::camera, Lib3dsNode::childs, Lib3dsAmbientData::col, Lib3dsLightData::col, Lib3dsAmbientData::col_track, Lib3dsLightData::col_track, Lib3dsNode::data, Lib3dsLightData::falloff, Lib3dsLightData::falloff_track, Lib3dsCameraData::fov, Lib3dsCameraData::fov_track, Lib3dsObjectData::hide, Lib3dsObjectData::hide_track, Lib3dsLightData::hotspot, Lib3dsLightData::hotspot_track, Lib3dsLin3Track::keyL, lib3ds_bool_track_eval(), lib3ds_lin1_track_eval(), lib3ds_lin3_track_eval(), lib3ds_matrix_copy(), lib3ds_matrix_identity(), lib3ds_matrix_mult(), lib3ds_matrix_rotate(), lib3ds_matrix_scale(), lib3ds_matrix_translate(), lib3ds_morph_track_eval(), lib3ds_node_eval(), lib3ds_quat_track_eval(), Lib3dsNodeData::light, Lib3dsNode::matrix, Lib3dsObjectData::morph, Lib3dsObjectData::morph_track, Lib3dsNode::next, Lib3dsNodeData::object, Lib3dsNode::parent, Lib3dsObjectData::pos, Lib3dsCameraData::pos, Lib3dsTargetData::pos, Lib3dsLightData::pos, Lib3dsSpotData::pos, Lib3dsObjectData::pos_track, Lib3dsCameraData::pos_track, Lib3dsTargetData::pos_track, Lib3dsLightData::pos_track, Lib3dsSpotData::pos_track, Lib3dsCameraData::roll, Lib3dsLightData::roll, Lib3dsCameraData::roll_track, Lib3dsLightData::roll_track, Lib3dsObjectData::rot, Lib3dsObjectData::rot_track, Lib3dsObjectData::scl, Lib3dsObjectData::scl_track, Lib3dsNodeData::spot, Lib3dsNodeData::target, and Lib3dsNode::type.

Referenced by lib3ds_file_eval(), and lib3ds_node_eval().

void lib3ds_node_free ( Lib3dsNode node  ) 

Free a node and all of its resources.

Parameters:
node Lib3dsNode object to be freed.

Definition at line 232 of file node.c.

Referenced by lib3ds_file_free().

Lib3dsNode* lib3ds_node_new_ambient (  ) 

Create and return a new ambient node.

The node is returned with an identity matrix. All other fields are zero.

Returns:
Lib3dsNode

Definition at line 48 of file node.c.

References lib3ds_matrix_identity(), Lib3dsNode::matrix, and Lib3dsNode::type.

Lib3dsNode* lib3ds_node_new_camera (  ) 

Create and return a new camera node.

The node is returned with an identity matrix. All other fields are zero.

Returns:
Lib3dsNode

Definition at line 88 of file node.c.

References lib3ds_matrix_identity(), Lib3dsNode::matrix, and Lib3dsNode::type.

Lib3dsNode* lib3ds_node_new_light (  ) 

Create and return a new light node.

The node is returned with an identity matrix. All other fields are zero.

Returns:
Lib3dsNode

Definition at line 128 of file node.c.

References lib3ds_matrix_identity(), Lib3dsNode::matrix, and Lib3dsNode::type.

Lib3dsNode* lib3ds_node_new_object (  ) 

Create and return a new object node.

The node is returned with an identity matrix. All other fields are zero.

Returns:
Lib3dsNode

Definition at line 68 of file node.c.

References lib3ds_matrix_identity(), Lib3dsNode::matrix, and Lib3dsNode::type.

Lib3dsNode* lib3ds_node_new_spot (  ) 

Create and return a new spot node.

The node is returned with an identity matrix. All other fields are zero.

Returns:
Lib3dsNode

Definition at line 148 of file node.c.

References lib3ds_matrix_identity(), Lib3dsNode::matrix, and Lib3dsNode::type.

Lib3dsNode* lib3ds_node_new_target (  ) 

Create and return a new target node.

The node is returned with an identity matrix. All other fields are zero.

Returns:
Lib3dsNode

Definition at line 108 of file node.c.

References lib3ds_matrix_identity(), Lib3dsNode::matrix, and Lib3dsNode::type.

void lib3ds_viewport_dump ( Lib3dsViewport vp  ) 

Dump viewport.

Parameters:
vp The viewport to be dumped.

Definition at line 368 of file viewport.c.

References Lib3dsLayout::active, Lib3dsView::axis_lock, Lib3dsView::camera, Lib3dsDefaultView::camera, Lib3dsView::center, Lib3dsViewport::default_view, Lib3dsView::horiz_angle, Lib3dsDefaultView::horiz_angle, Lib3dsViewport::layout, Lib3dsLayout::position, Lib3dsView::position, Lib3dsDefaultView::position, Lib3dsDefaultView::roll_angle, Lib3dsLayout::size, Lib3dsView::size, Lib3dsLayout::style, Lib3dsLayout::swap, Lib3dsLayout::swap_prior, Lib3dsView::type, Lib3dsDefaultView::type, Lib3dsView::vert_angle, Lib3dsDefaultView::vert_angle, Lib3dsLayout::viewL, Lib3dsLayout::views, Lib3dsDefaultView::width, and Lib3dsView::zoom.


Hosted by
SourceForge.net Logo
Generated at Wed Jun 20 18:51:36 2007 by Doxygen 1.5.2