Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __CS_CSTOOL_ANIMESHTOOLS_H__
00023 #define __CS_CSTOOL_ANIMESHTOOLS_H__
00024
00029 #include "ivaria/reporter.h"
00030
00031 #include "csutil/dirtyaccessarray.h"
00032
00033 struct iGeneralFactoryState;
00034 struct iLoader;
00035 struct iObjectRegistry;
00036
00037 namespace CS {
00038 namespace Mesh {
00039
00040 struct iAnimatedMeshFactory;
00041
00045 class CS_CRYSTALSPACE_EXPORT AnimatedMeshTools
00046 {
00047 static void ReportError (const char* msg, ...)
00048 {
00049 #ifdef CS_DEBUG
00050 va_list arg;
00051 va_start (arg, msg);
00052 csReportV (iSCF::SCF->object_reg, CS_REPORTER_SEVERITY_ERROR,
00053 "crystalspace.mesh.animeshtools", msg, arg);
00054 va_end (arg);
00055 #endif
00056 }
00057
00058 static void ReportWarning (const char* msg, ...)
00059 {
00060 #ifdef CS_DEBUG
00061 va_list arg;
00062 va_start (arg, msg);
00063 csReportV (iSCF::SCF->object_reg, CS_REPORTER_SEVERITY_WARNING,
00064 "crystalspace.mesh.animeshtools", msg, arg);
00065 va_end (arg);
00066 #endif
00067 }
00068
00069 static csPtr<iAnimatedMeshFactory> LoadAnimesh (iObjectRegistry* object_reg,
00070 iLoader* loader,
00071 const char* factoryName,
00072 const char* filename);
00073
00074 public:
00075
00100 static csPtr<iAnimatedMeshFactory> ImportSplitMorphMesh
00101 (iObjectRegistry* object_reg, const char* path, const char* baseMesh,
00102 const char* factoryName, const char* meshMask = "");
00103
00120 static bool ImportMorphMesh
00121 (iObjectRegistry* object_reg, iAnimatedMeshFactory* baseMesh,
00122 iAnimatedMeshFactory* morphMesh, const char* morphName,
00123 bool deleteMesh = true);
00124
00135 static csPtr<iAnimatedMeshFactory> ImportGeneralMesh
00136 (iObjectRegistry* object_reg, iGeneralFactoryState* genmesh,
00137 bool deleteMesh = true);
00138
00139 };
00140
00141 }
00142 }
00143
00144 #endif // __CS_CSTOOL_ANIMESHTOOLS_H__