zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lib3ds_node.c File Reference
#include "lib3ds_impl.h"

Go to the source code of this file.

Functions

static void free_node_and_childs (Lib3dsNode *node)
 
Lib3dsNodelib3ds_node_by_id (Lib3dsNode *node, uint16_t node_id)
 
Lib3dsNodelib3ds_node_by_name (Lib3dsNode *node, const char *name, Lib3dsNodeType type)
 
void lib3ds_node_eval (Lib3dsNode *node, float t)
 
void lib3ds_node_free (Lib3dsNode *node)
 
Lib3dsNodelib3ds_node_new (Lib3dsNodeType type)
 
Lib3dsAmbientColorNodelib3ds_node_new_ambient_color (float color0[3])
 
Lib3dsCameraNodelib3ds_node_new_camera (Lib3dsCamera *camera)
 
Lib3dsTargetNodelib3ds_node_new_camera_target (Lib3dsCamera *camera)
 
Lib3dsMeshInstanceNodelib3ds_node_new_mesh_instance (Lib3dsMesh *mesh, const char *instance_name, float pos0[3], float scl0[3], float rot0[4])
 
Lib3dsOmnilightNodelib3ds_node_new_omnilight (Lib3dsLight *light)
 
Lib3dsTargetNodelib3ds_node_new_spotligf_target (Lib3dsLight *light)
 
Lib3dsSpotlightNodelib3ds_node_new_spotlight (Lib3dsLight *light)
 
void lib3ds_node_read (Lib3dsNode *node, Lib3dsIo *io)
 
void lib3ds_node_write (Lib3dsNode *node, uint16_t node_id, uint16_t parent_id, Lib3dsIo *io)
 

Function Documentation

void lib3ds_node_read ( Lib3dsNode node,
Lib3dsIo io 
)

Definition at line 535 of file lib3ds_node.c.

References assert, Lib3dsMeshInstanceNode::bbox_max, Lib3dsMeshInstanceNode::bbox_min, CHK_AMBIENT_NODE_TAG, CHK_BOUNDBOX, CHK_CAMERA_NODE_TAG, CHK_COL_TRACK_TAG, CHK_FALL_TRACK_TAG, CHK_FOV_TRACK_TAG, CHK_HIDE_TRACK_TAG, CHK_HOT_TRACK_TAG, CHK_INSTANCE_NAME, CHK_L_TARGET_NODE_TAG, CHK_LIGHT_NODE_TAG, CHK_MORPH_SMOOTH, CHK_NODE_HDR, CHK_NODE_ID, CHK_OBJECT_NODE_TAG, CHK_PIVOT, CHK_POS_TRACK_TAG, CHK_ROLL_TRACK_TAG, CHK_ROT_TRACK_TAG, CHK_SCL_TRACK_TAG, CHK_SPOTLIGHT_NODE_TAG, CHK_TARGET_NODE_TAG, Lib3dsChunk::chunk, chunk, Lib3dsAmbientColorNode::color_track, Lib3dsOmnilightNode::color_track, Lib3dsSpotlightNode::color_track, Lib3dsSpotlightNode::falloff_track, Lib3dsNode::flags, Lib3dsCameraNode::fov_track, Lib3dsMeshInstanceNode::hide_track, Lib3dsSpotlightNode::hotspot_track, Lib3dsMeshInstanceNode::instance_name, lib3ds_chunk_read_end(), lib3ds_chunk_read_next(), lib3ds_chunk_read_start(), lib3ds_chunk_unknown(), lib3ds_io_log(), lib3ds_io_log_indent(), lib3ds_io_read_float(), lib3ds_io_read_string(), lib3ds_io_read_vector(), lib3ds_io_read_word(), LIB3DS_LOG_INFO, LIB3DS_NODE_AMBIENT_COLOR, LIB3DS_NODE_CAMERA, LIB3DS_NODE_CAMERA_TARGET, LIB3DS_NODE_MESH_INSTANCE, LIB3DS_NODE_OMNILIGHT, LIB3DS_NODE_SPOTLIGHT, LIB3DS_NODE_SPOTLIGHT_TARGET, LIB3DS_TRACK_BOOL, LIB3DS_TRACK_FLOAT, LIB3DS_TRACK_QUAT, lib3ds_track_read(), LIB3DS_TRACK_VECTOR, Lib3dsMeshInstanceNode::morph_smooth, Lib3dsNode::name, Lib3dsNode::node_id, Lib3dsMeshInstanceNode::pivot, Lib3dsMeshInstanceNode::pos_track, Lib3dsCameraNode::pos_track, Lib3dsTargetNode::pos_track, Lib3dsOmnilightNode::pos_track, Lib3dsSpotlightNode::pos_track, Lib3dsCameraNode::roll_track, Lib3dsSpotlightNode::roll_track, Lib3dsMeshInstanceNode::rot_track, Lib3dsMeshInstanceNode::scl_track, Lib3dsNode::type, Lib3dsTrack::type, and Lib3dsNode::user_id.

Referenced by kfdata_read().

void lib3ds_node_write ( Lib3dsNode node,
uint16_t  node_id,
uint16_t  parent_id,
Lib3dsIo io 
)

Definition at line 797 of file lib3ds_node.c.

References assert, Lib3dsMeshInstanceNode::bbox_max, Lib3dsMeshInstanceNode::bbox_min, CHK_AMBIENT_NODE_TAG, CHK_BOUNDBOX, CHK_CAMERA_NODE_TAG, CHK_COL_TRACK_TAG, CHK_FALL_TRACK_TAG, CHK_FOV_TRACK_TAG, CHK_HIDE_TRACK_TAG, CHK_HOT_TRACK_TAG, CHK_INSTANCE_NAME, CHK_L_TARGET_NODE_TAG, CHK_LIGHT_NODE_TAG, CHK_MORPH_SMOOTH, CHK_NODE_HDR, CHK_NODE_ID, CHK_OBJECT_NODE_TAG, CHK_PIVOT, CHK_POS_TRACK_TAG, CHK_ROLL_TRACK_TAG, CHK_ROT_TRACK_TAG, CHK_SCL_TRACK_TAG, CHK_SPOTLIGHT_NODE_TAG, CHK_TARGET_NODE_TAG, Lib3dsChunk::chunk, Lib3dsAmbientColorNode::color_track, Lib3dsOmnilightNode::color_track, Lib3dsSpotlightNode::color_track, fabs(), Lib3dsSpotlightNode::falloff_track, Lib3dsNode::flags, Lib3dsCameraNode::fov_track, Lib3dsMeshInstanceNode::hide_track, Lib3dsSpotlightNode::hotspot_track, i, Lib3dsMeshInstanceNode::instance_name, lib3ds_chunk_write(), lib3ds_chunk_write_end(), lib3ds_chunk_write_start(), LIB3DS_EPSILON, lib3ds_io_write_float(), lib3ds_io_write_intw(), lib3ds_io_write_string(), lib3ds_io_write_vector(), lib3ds_io_write_word(), LIB3DS_NODE_AMBIENT_COLOR, LIB3DS_NODE_CAMERA, LIB3DS_NODE_CAMERA_TARGET, LIB3DS_NODE_MESH_INSTANCE, LIB3DS_NODE_OMNILIGHT, LIB3DS_NODE_SPOTLIGHT, LIB3DS_NODE_SPOTLIGHT_TARGET, lib3ds_track_write(), Lib3dsMeshInstanceNode::morph_smooth, Lib3dsNode::name, Lib3dsTrack::nkeys, Lib3dsMeshInstanceNode::pivot, Lib3dsMeshInstanceNode::pos_track, Lib3dsCameraNode::pos_track, Lib3dsTargetNode::pos_track, Lib3dsOmnilightNode::pos_track, Lib3dsSpotlightNode::pos_track, Lib3dsCameraNode::roll_track, Lib3dsSpotlightNode::roll_track, Lib3dsMeshInstanceNode::rot_track, Lib3dsMeshInstanceNode::scl_track, Lib3dsChunk::size, and Lib3dsNode::type.

Referenced by nodes_write().