Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

collada
(collada globals)

   in CommonConvert.h
   in Decompose.h
   in DLL.h
   in GeomReindex.h
   in Maths.h
   in PMDConvert.h
   in precompiled.h
   in PSAConvert.h
   in StdSkeletons.h
   in CommonConvert.h
   in Decompose.h
   in DLL.h
   in GeomReindex.h
   in PMDConvert.h
   in PSAConvert.h
   in Decompose.cpp
   in GeomReindex.cpp
   in CommonConvert.cpp
   in Decompose.cpp
   in DLL.cpp
   in GeomReindex.cpp
   in Maths.cpp
   in PMDConvert.cpp
   in PSAConvert.cpp
   in StdSkeletons.cpp

(collada globals)


Field Summary
 VertexBlend defaultInfluences
          See PMDConvert.cpp
 static LogFn g_Logger
          See DLL.cpp
 static float[] identity
          See CommonConvert.cpp
 static HMatrix mat_id
          Decomp Auxiliaries
 const size_t maxInfluences
          See PMDConvert.cpp
 
Method Summary
 void adjoint_transpose( HMatrix M, HMatrix MadjT )
          Set MadjT to transpose of inverse of M times determinant of M
 void CanonicaliseWeights( FCDJointWeightPairList& weights )
          See GeomReindex.cpp
 void ColladaToPMD( const char* input, OutputCB& output, std::string& xmlErrors )
          See PMDConvert.cpp
 void ColladaToPSA( const char* input, OutputCB& output, std::string& xmlErrors )
          See PSAConvert.cpp
 extern "C" int convert_dae_to_pmd( const char* dae, OutputFn pmd_writer, void* cb_data )
          See DLL.cpp
 extern "C" int convert_dae_to_psa( const char* dae, OutputFn psa_writer, void* cb_data )
          See DLL.cpp
 int convert_dae_to_whatever( const char* dae, OutputFn writer, void* cb_data, void ( * conv )( const char*, OutputCB&, std::string& ) )
          See DLL.cpp
 void decomp_affine( HMatrix A, AffineParts* parts )
          Decompose Affine Matrix
 FMMatrix44 DecomposeToScaleMatrix( const FMMatrix44& m )
          See Maths.cpp
 void default_logger( int severity, const char* message )
          See DLL.cpp
 void do_rank1( HMatrix M, HMatrix Q )
          Find orthogonal factor Q of rank 1 (or less) M
 void do_rank2( HMatrix M, HMatrix MadjT, HMatrix Q )
          Find orthogonal factor Q of rank 2 (or less) M using adjoint transpose
 void DumpMatrix( const FMMatrix44& m )
          See Maths.cpp
 void errorHandler( void* ctx, const char* msg,... )
          Error handler for libxml2
 int find_max_col( HMatrix M )
          Return index of column of M containing maximum abs entry, or -1 if M=0
 static void FindInstances( FCDSceneNode* node, std::vector< FoundInstance >& instances, const FMMatrix44& transform, bool onlyMarked )
          Recursively finds all entities under the current node.
 bool FindSingleInstance( FCDSceneNode* node, FCDEntityInstance*& instance, FMMatrix44& transform )
          Tries to find a single suitable entity instance in the scene.
 const Skeleton& FindSkeleton( const FCDControllerInstance& controllerInstance )
          Finds the skeleton definition which best matches the given controller.
 void FixSkeletonRoots( FCDControllerInstance& controllerInstance )
          Fixes some occasional problems with the skeleton root definitions in a controller.
 FMMatrix44 FMMatrix44_Identity( identity )
          See CommonConvert.cpp
 const FMVector3 FMVector3_XAxis( 1. 0f, 0. 0f, 0. 0f )
          See CommonConvert.cpp
 void invert_affine( AffineParts* parts, AffineParts* inverse )
          Invert Affine Decomposition
 static bool IsVisible( FCDSceneNode* node )
          See CommonConvert.cpp
 static bool IsVisible_XSI( FCDSceneNode* node, bool& visible )
          See CommonConvert.cpp
 void Log( int severity, const char* msg,... )
          See DLL.cpp
 void make_reflector( float* v, float* u )
          Setup u for Household reflection to zero all v components but first
 void mat_mult( HMatrix A, HMatrix B, HMatrix AB )
          Multiply the upper left 3x3 parts of A and B to get AB
 float mat_norm( HMatrix M, int tpose )
          Compute either the 1 or infinity norm of M, depending on tpose
 float norm_inf( HMatrix M )
          See Decompose.cpp
 float norm_one( HMatrix M )
          See Decompose.cpp
 bool operator<( const VertexData& a, const VertexData& b )
          See GeomReindex.cpp
 bool operator<( const FCDJointWeightPair& a, const FCDJointWeightPair& b )
          See GeomReindex.cpp
 bool operator==( const FCDJointWeightPair& a, const FCDJointWeightPair& b )
          See GeomReindex.cpp
 bool operator==( const VertexData& a, const VertexData& b )
          See GeomReindex.cpp
 float polar_decomp( HMatrix M, HMatrix Q, HMatrix S )
          Polar Decomposition
 Quat Qt_( float x, float y, float z, float w )
          Quaternion Preliminaries
 Quat Qt_Conj( Quat q )
          See Decompose.cpp
 Quat Qt_FromMatrix( HMatrix mat )
          See Decompose.cpp
 Quat Qt_Mul( Quat qL, Quat qR )
          See Decompose.cpp
 Quat Qt_Scale( Quat q, float w )
          See Decompose.cpp
 void reflect_cols( HMatrix M, float* u )
          Apply Householder reflection represented by u to column vectors of M
 void reflect_rows( HMatrix M, float* u )
          Apply Householder reflection represented by u to row vectors of M
 void ReindexGeometry( FCDGeometryPolygons* polys, FCDSkinController* skin = 0 )
          See GeomReindex.cpp
 void require_( int line, bool value, const char* type, const char* message )
          Throws a ColladaException unless the status is successful.
 static bool ReverseSortWeight( const FCDJointWeightPair& a, const FCDJointWeightPair& b )
          See CommonConvert.cpp
 extern "C" void set_logger( LogFn logger )
          See DLL.cpp
 extern "C" int set_skeleton_definitions( const char* xml, int length )
          See DLL.cpp
 bool similar( float a, float b )
          See GeomReindex.cpp
 void SkinReduceInfluences( FCDSkinController* skin, size_t maxInfluenceCount, float minimumWeight )
          Like FCDSkinController::ReduceInfluences but works correctly.
 Quat snuggle( Quat q, HVect* k )
          Spectral Axis Adjustment
 HVect spect_decomp( HMatrix S, HMatrix U )
          Spectral Decomposition
 void TransformBones( std::vector< BoneTransform >& bones, const FMMatrix44& scaleTransform, bool yUp )
          Performs the standard transformations on bones, applying a scale matrix and moving them into the game's coordinate space.
 void vcross( float* va, float* vb, float* v )
          Set v to cross product of length 3 vectors va and vb
 float vdot( float* va, float* vb )
          Return dot product of length 3 vectors va and vb
 template< typename T > void write( OutputCB& output, const T& data )
          Outputs a structure, using sizeof to get the size.
 
Symbol Summary
 #define COLLADA_CONVERTER_VERSION 1
          See DLL.h
 #define COLLADA_DLL
          See precompiled.h
 #define EXPORT extern "C"
          See DLL.h
 #define INCLUDED_COLLADA_DLL
          See DLL.h
 #define INCLUDED_COLLADA_PRECOMPILED
          See precompiled.h
 #define INCLUDED_COMMONCONVERT
          See CommonConvert.h
 #define INCLUDED_DECOMPOSE
          /**** Decompose.
 #define INCLUDED_GEOMREINDEX
          See GeomReindex.h
 #define INCLUDED_MATHS
          See Maths.h
 #define INCLUDED_PMDCONVERT
          See PMDConvert.h
 #define INCLUDED_PSACONVERT
          See PSAConvert.h
 #define INCLUDED_STDSKELETONS
          See StdSkeletons.h
 #define LOG_ERROR 2
          See DLL.h
 #define LOG_INFO 0
          See DLL.h
 #define LOG_WARNING 1
          See DLL.h
 #define SQRTHALF (0.7071067811865475244)
          See Decompose.cpp
 #define TOL 1.0e-6
          See Decompose.cpp
 #define WIN32
          See precompiled.h
 
Macro Summary
 #define caseMacro(i, j, k, I, J, K) case I:s = sqrt( (mat[I][I] - (mat[J][J]+mat[K][K])) + mat[W][W] )qu.i = s*0.5s = 0.5 / squ.j = (mat[I][J] + mat[J][I]) * squ.k = (mat[K][I] + mat[I][K]) * squ.w = (mat[K][J] - mat[J][K]) * sbreak
          See Decompose.cpp
 #define CMP(f) if (a.f < b.f) return true if (a.f > b.f) return false
          See GeomReindex.cpp
 #define cycle(a, p) if (p) {a[3]=a[0] a[0]=a[1] a[1]=a[2] a[2]=a[3]}else {a[3]=a[2] a[2]=a[1] a[1]=a[0] a[0]=a[3]}
          See Decompose.cpp
 #define mat_binop(C, gets, A, op, B, n) {int i,j for(i=0i
          /** Assign nxn matrix C the element-wise combination of A and B using "op" *
 #define mat_copy(C, gets, A, n) {int i,j for(i=0i
          /** Copy nxn matrix A to C using "gets" for assignment *
 #define mat_pad(A) (A[W][X]=A[X][W]=A[W][Y]=A[Y][W]=A[W][Z]=A[Z][W]=0,A[W][W]=1)
          /** Fill out 3x3 matrix to 4x4 *
 #define mat_tpose(AT, gets, A, n) {int i,j for(i=0i
          /** Copy transpose of nxn matrix A to C using "gets" for assignment *
 #define REQUIRE(value, message) require_(__LINE__, value, "Assertion not satisfied", "failed requirement \"" message "\"")
          /** Throws a ColladaException unless the value is true.
 #define REQUIRE_SUCCESS(status) require_(__LINE__, status, "FCollada error", "Line " STRINGIFY(__LINE__))
          /** Throws a ColladaException unless the status is successful.
 #define sgn(n, v) ((n)?-(v):(v))
          See Decompose.cpp
 #define STRINGIFY(x) #x
          See CommonConvert.h
 #define swap(a, i, j) {a[3]=a[i] a[i]=a[j] a[j]=a[3]}
          See Decompose.cpp
 

Field Detail

defaultInfluences

 VertexBlend defaultInfluences;
See PMDConvert.cpp.

g_Logger

 static LogFn g_Logger;
See DLL.cpp.

identity

 static float identity[];
See CommonConvert.cpp.

mat_id

 static HMatrix mat_id;
Decomp Auxiliaries
See Decompose.cpp.

maxInfluences

 const size_t maxInfluences;
See PMDConvert.cpp.


Method Detail

adjoint_transpose

 void adjoint_transpose( HMatrix M, HMatrix MadjT );
Set MadjT to transpose of inverse of M times determinant of M
See Decompose.cpp.

CanonicaliseWeights

 void CanonicaliseWeights( FCDJointWeightPairList& weights );
See GeomReindex.cpp.

ColladaToPMD

 void ColladaToPMD( const char* input, OutputCB& output, std::string& xmlErrors );
See PMDConvert.cpp.

ColladaToPSA

 void ColladaToPSA( const char* input, OutputCB& output, std::string& xmlErrors );
See PSAConvert.cpp.

convert_dae_to_pmd

 extern "C" int convert_dae_to_pmd( const char* dae, OutputFn pmd_writer, void* cb_data );
See DLL.cpp.

convert_dae_to_psa

 extern "C" int convert_dae_to_psa( const char* dae, OutputFn psa_writer, void* cb_data );
See DLL.cpp.

convert_dae_to_whatever

 int convert_dae_to_whatever( const char* dae, OutputFn writer, void* cb_data, void ( * conv )( const char*, OutputCB&, std::string& ) );
See DLL.cpp.

decomp_affine

 void decomp_affine( HMatrix A, AffineParts* parts );
Decompose Affine Matrix
See Decompose.cpp.

DecomposeToScaleMatrix

 FMMatrix44 DecomposeToScaleMatrix( const FMMatrix44& m );
See Maths.cpp.

default_logger

 void default_logger( int severity, const char* message );
See DLL.cpp.

do_rank1

 void do_rank1( HMatrix M, HMatrix Q );
Find orthogonal factor Q of rank 1 (or less) M
See Decompose.cpp.

do_rank2

 void do_rank2( HMatrix M, HMatrix MadjT, HMatrix Q );
Find orthogonal factor Q of rank 2 (or less) M using adjoint transpose
See Decompose.cpp.

DumpMatrix

 void DumpMatrix( const FMMatrix44& m );
See Maths.cpp.

errorHandler

 void errorHandler( void* ctx, const char* msg,... );
Error handler for libxml2
See CommonConvert.cpp.

find_max_col

 int find_max_col( HMatrix M );
Return index of column of M containing maximum abs entry, or -1 if M=0
See Decompose.cpp.

FindInstances

 static void FindInstances( FCDSceneNode* node, std::vector< FoundInstance >& instances, const FMMatrix44& transform, bool onlyMarked );
Recursively finds all entities under the current node. If onlyMarked is set, only matches entities where the user-defined property was set to "export" in the modelling program.
Parameters:
node - root of subtree to search
instances - output - appends matching entities
transform - transform matrix of current subtree
onlyMarked - only match entities with "export" property
See CommonConvert.cpp.

FindSingleInstance

 bool FindSingleInstance( FCDSceneNode* node, FCDEntityInstance*& instance, FMMatrix44& transform );
Tries to find a single suitable entity instance in the scene. Fails if there are none, or if there are too many and it's not clear which one should be converted.
Parameters:
node - root scene node to search under
instance - output - the found entity instance (if any)
transform - - the world-space transform of the found entity
Returns:
true if one was found
See CommonConvert.cpp.

FindSkeleton

 const Skeleton& FindSkeleton( const FCDControllerInstance& controllerInstance );
Finds the skeleton definition which best matches the given controller.
Throws:
ColladaException - if none is found.
See CommonConvert.cpp.

FixSkeletonRoots

 void FixSkeletonRoots( FCDControllerInstance& controllerInstance );
Fixes some occasional problems with the skeleton root definitions in a controller. (In particular, it's needed for models exported from XSI.) Should be called before extracting any joint information from the controller.
See CommonConvert.cpp.

FMMatrix44_Identity

 FMMatrix44 FMMatrix44_Identity( identity );
See CommonConvert.cpp.

FMVector3_XAxis

 const FMVector3 FMVector3_XAxis( 1. 0f, 0. 0f, 0. 0f );
See CommonConvert.cpp.

invert_affine

 void invert_affine( AffineParts* parts, AffineParts* inverse );
Invert Affine Decomposition
See Decompose.cpp.

IsVisible

 static bool IsVisible( FCDSceneNode* node );
See CommonConvert.cpp.

IsVisible_XSI

 static bool IsVisible_XSI( FCDSceneNode* node, bool& visible );
See CommonConvert.cpp.

Log

 void Log( int severity, const char* msg,... );
See DLL.cpp.

make_reflector

 void make_reflector( float* v, float* u );
Setup u for Household reflection to zero all v components but first
See Decompose.cpp.

mat_mult

 void mat_mult( HMatrix A, HMatrix B, HMatrix AB );
Multiply the upper left 3x3 parts of A and B to get AB
See Decompose.cpp.

mat_norm

 float mat_norm( HMatrix M, int tpose );
Compute either the 1 or infinity norm of M, depending on tpose
See Decompose.cpp.

norm_inf

 float norm_inf( HMatrix M );
See Decompose.cpp.

norm_one

 float norm_one( HMatrix M );
See Decompose.cpp.

operator<

 bool operator<( const VertexData& a, const VertexData& b );
See GeomReindex.cpp.

operator<

 bool operator<( const FCDJointWeightPair& a, const FCDJointWeightPair& b );
See GeomReindex.cpp.

operator==

 bool operator==( const FCDJointWeightPair& a, const FCDJointWeightPair& b );
See GeomReindex.cpp.

operator==

 bool operator==( const VertexData& a, const VertexData& b );
See GeomReindex.cpp.

polar_decomp

 float polar_decomp( HMatrix M, HMatrix Q, HMatrix S );
Polar Decomposition
See Decompose.cpp.

Qt_

 Quat Qt_( float x, float y, float z, float w );
Quaternion Preliminaries
See Decompose.cpp.

Qt_Conj

 Quat Qt_Conj( Quat q );
See Decompose.cpp.

Qt_FromMatrix

 Quat Qt_FromMatrix( HMatrix mat );
See Decompose.cpp.

Qt_Mul

 Quat Qt_Mul( Quat qL, Quat qR );
See Decompose.cpp.

Qt_Scale

 Quat Qt_Scale( Quat q, float w );
See Decompose.cpp.

reflect_cols

 void reflect_cols( HMatrix M, float* u );
Apply Householder reflection represented by u to column vectors of M
See Decompose.cpp.

reflect_rows

 void reflect_rows( HMatrix M, float* u );
Apply Householder reflection represented by u to row vectors of M
See Decompose.cpp.

ReindexGeometry

 void ReindexGeometry( FCDGeometryPolygons* polys, FCDSkinController* skin = 0 );
See GeomReindex.cpp.

require_

 void require_( int line, bool value, const char* type, const char* message );
Throws a ColladaException unless the status is successful.
See CommonConvert.cpp.

ReverseSortWeight

 static bool ReverseSortWeight( const FCDJointWeightPair& a, const FCDJointWeightPair& b );
See CommonConvert.cpp.

set_logger

 extern "C" void set_logger( LogFn logger );
See DLL.cpp.

set_skeleton_definitions

 extern "C" int set_skeleton_definitions( const char* xml, int length );
See DLL.cpp.

similar

 bool similar( float a, float b );
See GeomReindex.cpp.

SkinReduceInfluences

 void SkinReduceInfluences( FCDSkinController* skin, size_t maxInfluenceCount, float minimumWeight );
Like FCDSkinController::ReduceInfluences but works correctly. Additionally, multiple influences for the same joint-vertex pair are collapsed into a single influence.
See CommonConvert.cpp.

snuggle

 Quat snuggle( Quat q, HVect* k );
Spectral Axis Adjustment
See Decompose.cpp.

spect_decomp

 HVect spect_decomp( HMatrix S, HMatrix U );
Spectral Decomposition
See Decompose.cpp.

TransformBones

 void TransformBones( std::vector< BoneTransform >& bones, const FMMatrix44& scaleTransform, bool yUp );
Performs the standard transformations on bones, applying a scale matrix and moving them into the game's coordinate space.
See CommonConvert.cpp.

vcross

 void vcross( float* va, float* vb, float* v );
Set v to cross product of length 3 vectors va and vb
See Decompose.cpp.

vdot

 float vdot( float* va, float* vb );
Return dot product of length 3 vectors va and vb
See Decompose.cpp.

write

 template< typename T > void write( OutputCB& output, const T& data );
Outputs a structure, using sizeof to get the size.
See CommonConvert.h.


Symbol Detail

COLLADA_CONVERTER_VERSION

 #define COLLADA_CONVERTER_VERSION 1
See DLL.h.

COLLADA_DLL

 #define COLLADA_DLL 
See precompiled.h.

EXPORT

 #define EXPORT extern "C"
See DLL.h.

INCLUDED_COLLADA_DLL

 #define INCLUDED_COLLADA_DLL 
See DLL.h.

INCLUDED_COLLADA_PRECOMPILED

 #define INCLUDED_COLLADA_PRECOMPILED 
See precompiled.h.

INCLUDED_COMMONCONVERT

 #define INCLUDED_COMMONCONVERT 
See CommonConvert.h.

INCLUDED_DECOMPOSE

 #define INCLUDED_DECOMPOSE 
/**** Decompose.h - Basic declarations ***
See Decompose.h.

INCLUDED_GEOMREINDEX

 #define INCLUDED_GEOMREINDEX 
See GeomReindex.h.

INCLUDED_MATHS

 #define INCLUDED_MATHS 
See Maths.h.

INCLUDED_PMDCONVERT

 #define INCLUDED_PMDCONVERT 
See PMDConvert.h.

INCLUDED_PSACONVERT

 #define INCLUDED_PSACONVERT 
See PSAConvert.h.

INCLUDED_STDSKELETONS

 #define INCLUDED_STDSKELETONS 
See StdSkeletons.h.

LOG_ERROR

 #define LOG_ERROR 2
See DLL.h.

LOG_INFO

 #define LOG_INFO 0
See DLL.h.

LOG_WARNING

 #define LOG_WARNING 1
See DLL.h.

SQRTHALF

 #define SQRTHALF (0.7071067811865475244)
See Decompose.cpp.

TOL

 #define TOL 1.0e-6
See Decompose.cpp.

WIN32

 #define WIN32 
See precompiled.h.


Macro Detail

caseMacro

 #define caseMacro(i, j, k, I, J, K) case I:s = sqrt( (mat[I][I] - (mat[J][J]+mat[K][K])) + mat[W][W] );qu.i = s*0.5;s = 0.5 / s;qu.j = (mat[I][J] + mat[J][I]) * s;qu.k = (mat[K][I] + mat[I][K]) * s;qu.w = (mat[K][J] - mat[J][K]) * s;break
See Decompose.cpp.

CMP

 #define CMP(f) if (a.f < b.f) return true; if (a.f > b.f) return false
See GeomReindex.cpp.

cycle

 #define cycle(a, p) if (p) {a[3]=a[0]; a[0]=a[1]; a[1]=a[2]; a[2]=a[3];}else   {a[3]=a[2]; a[2]=a[1]; a[1]=a[0]; a[0]=a[3];}
See Decompose.cpp.

mat_binop

 #define mat_binop(C, gets, A, op, B, n) {int i,j; for(i=0;i
/** Assign nxn matrix C the element-wise combination of A and B using "op" *
See Decompose.cpp.

mat_copy

 #define mat_copy(C, gets, A, n) {int i,j; for(i=0;i
/** Copy nxn matrix A to C using "gets" for assignment *
See Decompose.cpp.

mat_pad

 #define mat_pad(A) (A[W][X]=A[X][W]=A[W][Y]=A[Y][W]=A[W][Z]=A[Z][W]=0,A[W][W]=1)
/** Fill out 3x3 matrix to 4x4 *
See Decompose.cpp.

mat_tpose

 #define mat_tpose(AT, gets, A, n) {int i,j; for(i=0;i
/** Copy transpose of nxn matrix A to C using "gets" for assignment *
See Decompose.cpp.

REQUIRE

 #define REQUIRE(value, message) require_(__LINE__, value, "Assertion not satisfied", "failed requirement \"" message "\"")
/** Throws a ColladaException unless the value is true.
See CommonConvert.h.

REQUIRE_SUCCESS

 #define REQUIRE_SUCCESS(status) require_(__LINE__, status, "FCollada error", "Line " STRINGIFY(__LINE__))
/** Throws a ColladaException unless the status is successful.
See CommonConvert.h.

sgn

 #define sgn(n, v) ((n)?-(v):(v))
See Decompose.cpp.

STRINGIFY

 #define STRINGIFY(x) #x
See CommonConvert.h.

swap

 #define swap(a, i, j) {a[3]=a[i]; a[i]=a[j]; a[j]=a[3];}
See Decompose.cpp.

 Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
Generated on September 04, 2007 at 18:13
CppDoc v2.4.0
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD