Esempio n. 1
0
        const MCE::FBX::SceneNode* Scene::GetBoneNode( int id ) const
        {
            const MCE::FBX::SceneNode* bone_node = NULL;

            int bone_index  = -1;
            int num_objects = NumObjects();
            
            for( int i = 0; i < num_objects; ++i )
            {
                MCE::FBX::SceneObject* object = m_objects[ i ];
                
                if( object )
                {
                    MCE::FBX::SceneObjectType::SceneObjectTypes object_type = object->Type();

                    if( object_type == MCE::FBX::SceneObjectType::BONE )
                    {
                        ++bone_index;
                        
                        if( bone_index == id )
                        {
                            bone_node = object->GetNode();
                            break;
                        }
                    }
                }
            }
            
            return bone_node;
        }
Esempio n. 2
0
void AnimTable::CalculateDefinineAnims() {
  std::vector<const RigAnim*> anims(MaxAnimIndex());
  for (int object = 0; object < NumObjects(); ++object) {
    const size_t num_anims = GatherObjectAnims(object, &anims[0]);
    CreateDefiningAnim(&anims[0], num_anims, &defining_anims_[object]);
  }
}
Esempio n. 3
0
        int Scene::AddObject( MCE::FBX::SceneObject* object )
        {
            FBX_ASSERT( object, "Null object" );
            
            object->SetScene( this );

            int id = NumObjects();
            m_objects.push_back( object );
            return id;
        }
Esempio n. 4
0
        Scene::~Scene()
        {
            int num_objects = NumObjects();

            for( int i = 0; i < num_objects; ++i )
            {
                MCE::FBX::SceneObject* object = m_objects[ i ];
                delete object;
                object = NULL;
            }

            int num_collision_meshes = NumCollisionMeshes();

            for( int i = 0; i < num_collision_meshes; ++i )
            {
                MCE::FBX::Mesh* collision_mesh = m_collision_meshes[ i ];
                delete collision_mesh;
                collision_mesh = NULL;
            }
        }
Esempio n. 5
0
 int Scene::GetUniqueObjectId() const
 {
     int id = NumObjects();
     return id;
 }
Esempio n. 6
0
 const MCE::FBX::SceneObject* Scene::GetSceneObject( int id ) const
 {
     FBX_ASSERT( ( id >= 0 ) && ( id < NumObjects() ), "Index out of bounds" );
     const MCE::FBX::SceneObject* object = m_objects[ id ];
     return object;
 }