|
0 A.D. | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
| 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 |
#define |
mat_copy(C, gets, A, n) {int i,j for(i=0i |
#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 |
#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 |
VertexBlend defaultInfluences;
static LogFn g_Logger;
static float identity[];
static HMatrix mat_id;
const size_t maxInfluences;
| Method Detail |
void adjoint_transpose( HMatrix M, HMatrix MadjT );
void CanonicaliseWeights( FCDJointWeightPairList& weights );
void ColladaToPMD( const char* input, OutputCB& output, std::string& xmlErrors );
void ColladaToPSA( const char* input, OutputCB& output, std::string& xmlErrors );
extern "C" int convert_dae_to_pmd( const char* dae, OutputFn pmd_writer, void* cb_data );
extern "C" int convert_dae_to_psa( const char* dae, OutputFn psa_writer, void* cb_data );
int convert_dae_to_whatever( const char* dae, OutputFn writer, void* cb_data, void ( * conv )( const char*, OutputCB&, std::string& ) );
void decomp_affine( HMatrix A, AffineParts* parts );
FMMatrix44 DecomposeToScaleMatrix( const FMMatrix44& m );
void default_logger( int severity, const char* message );
void do_rank1( HMatrix M, HMatrix Q );
void do_rank2( HMatrix M, HMatrix MadjT, HMatrix Q );
void DumpMatrix( const FMMatrix44& m );
void errorHandler( void* ctx, const char* msg,... );
int find_max_col( HMatrix M );
static void FindInstances( FCDSceneNode* node, std::vector< FoundInstance >& instances, const FMMatrix44& transform, bool onlyMarked );
node - root of subtree to search
instances - output - appends matching entities
transform - transform matrix of current subtree
onlyMarked - only match entities with "export" property
bool FindSingleInstance( FCDSceneNode* node, FCDEntityInstance*& instance, FMMatrix44& transform );
node - root scene node to search under
instance - output - the found entity instance (if any)
transform - - the world-space transform of the found entityconst Skeleton& FindSkeleton( const FCDControllerInstance& controllerInstance );
ColladaException - if none is found.
void FixSkeletonRoots( FCDControllerInstance& controllerInstance );
FMMatrix44 FMMatrix44_Identity( identity );
const FMVector3 FMVector3_XAxis( 1. 0f, 0. 0f, 0. 0f );
void invert_affine( AffineParts* parts, AffineParts* inverse );
static bool IsVisible( FCDSceneNode* node );
static bool IsVisible_XSI( FCDSceneNode* node, bool& visible );
void Log( int severity, const char* msg,... );
void make_reflector( float* v, float* u );
void mat_mult( HMatrix A, HMatrix B, HMatrix AB );
float mat_norm( HMatrix M, int tpose );
float norm_inf( HMatrix M );
float norm_one( HMatrix M );
bool operator<( const VertexData& a, const VertexData& b );
bool operator<( const FCDJointWeightPair& a, const FCDJointWeightPair& b );
bool operator==( const FCDJointWeightPair& a, const FCDJointWeightPair& b );
bool operator==( const VertexData& a, const VertexData& b );
float polar_decomp( HMatrix M, HMatrix Q, HMatrix S );
Quat Qt_( float x, float y, float z, float w );
Quat Qt_Conj( Quat q );
Quat Qt_FromMatrix( HMatrix mat );
Quat Qt_Mul( Quat qL, Quat qR );
Quat Qt_Scale( Quat q, float w );
void reflect_cols( HMatrix M, float* u );
void reflect_rows( HMatrix M, float* u );
void ReindexGeometry( FCDGeometryPolygons* polys, FCDSkinController* skin = 0 );
void require_( int line, bool value, const char* type, const char* message );
static bool ReverseSortWeight( const FCDJointWeightPair& a, const FCDJointWeightPair& b );
extern "C" void set_logger( LogFn logger );
extern "C" int set_skeleton_definitions( const char* xml, int length );
bool similar( float a, float b );
void SkinReduceInfluences( FCDSkinController* skin, size_t maxInfluenceCount, float minimumWeight );
Quat snuggle( Quat q, HVect* k );
HVect spect_decomp( HMatrix S, HMatrix U );
void TransformBones( std::vector< BoneTransform >& bones, const FMMatrix44& scaleTransform, bool yUp );
void vcross( float* va, float* vb, float* v );
float vdot( float* va, float* vb );
template< typename T > void write( OutputCB& output, const T& data );
| Symbol Detail |
#define COLLADA_CONVERTER_VERSION 1
#define COLLADA_DLL
#define EXPORT extern "C"
#define INCLUDED_COLLADA_DLL
#define INCLUDED_COLLADA_PRECOMPILED
#define INCLUDED_COMMONCONVERT
#define INCLUDED_DECOMPOSE
#define INCLUDED_GEOMREINDEX
#define INCLUDED_MATHS
#define INCLUDED_PMDCONVERT
#define INCLUDED_PSACONVERT
#define INCLUDED_STDSKELETONS
#define LOG_ERROR 2
#define LOG_INFO 0
#define LOG_WARNING 1
#define SQRTHALF (0.7071067811865475244)
#define TOL 1.0e-6
#define WIN32
| Macro Detail |
#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
#define CMP(f) if (a.f < b.f) return true; if (a.f > b.f) return false
#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];}
#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
DETAIL: FIELD | CONSTR | METHOD