Further work on the IRR, AC, LWS loaders. Further work on the - still unfinished - OptimizeGraph step. SceneCombiner works now properly in all cases I tested yet.

Added missing 'typename' in Colladaparser.h
First implementation of spherical and cylindrical mapping, already in use for IRR and LWO models. For the latter the coordinate system is not yet correct.
Moved vec2d to a separate header and added operators similar to vec3.
Added plane and ray helper classes. Just the data is wrapped, no operators required for the moment.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@249 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
This commit is contained in:
aramis_acg
2008-11-26 13:17:39 +00:00
parent 9ca66fb999
commit fd9e6edc19
45 changed files with 2657 additions and 869 deletions

View File

@@ -238,35 +238,6 @@ private:
aiVector3D position, normal, uv;
};
/** Temporary data structure to describe an IRR animator
*
* Irrlicht animations always start at the beginning, so
* we don't need "first" and "pre" for the moment.
*/
struct TemporaryAnim
{
TemporaryAnim()
: last (0)
, post (aiAnimBehaviour_DEFAULT)
, matrices (NULL)
{}
~TemporaryAnim()
{
delete[] matrices;
}
void SetupMatrices(unsigned int num)
{
last = num;
matrices = new aiMatrix4x4[num];
}
unsigned int last;
aiAnimBehaviour post;
aiMatrix4x4* matrices;
};
// -------------------------------------------------------------------
/** Fill the scenegraph recursively
@@ -276,7 +247,7 @@ private:
std::vector<aiMesh*>& meshes,
std::vector<aiNodeAnim*>& anims,
std::vector<AttachmentInfo>& attach,
std::vector<aiMaterial*> materials,
std::vector<aiMaterial*>& materials,
unsigned int& defaultMatIdx);
@@ -308,7 +279,7 @@ private:
* @param defMatIdx Default material index - 0xffffffff if not there
* @param mesh Mesh to work on
*/
void CopyMaterial(std::vector<aiMaterial*> materials,
void CopyMaterial(std::vector<aiMaterial*>& materials,
std::vector< std::pair<aiMaterial*, unsigned int> >& inmaterials,
unsigned int& defMatIdx,
aiMesh* mesh);
@@ -319,16 +290,14 @@ private:
*
* @param root Node to be processed
* @param anims The list of output animations
* @param transform Transformation matrix of the current node
* (relative to the parent's coordinate space)
*/
void ComputeAnimations(Node* root, std::vector<aiNodeAnim*>& anims,
const aiMatrix4x4& transform);
void ComputeAnimations(Node* root, aiNode* real,
std::vector<aiNodeAnim*>& anims);
private:
unsigned int fps;
double fps;
};