5#include "gfx/mdl/ModelData.h"
6#include "gfx/Material.h"
7#include "Physics/Physics.h"
8#include "MaterialInfo.h"
10namespace XXSharpKmyGfx
14 ref class MaterialInstance;
16 private ref class ModelData
19 kmyGfx::ModelData *obj;
22 ModelData(System::String^ path, System::Guid guid,
bool vtxCompress);
23 ModelData(System::String^ path);
26 ModelData(kmyGfx::ModelData *o)
35 MaterialInfo^ getMaterialInfo(
int index);
37 void ReleaseForToolWithSync();
39 void initializeByDef(System::String ^path);
40 void renamePath(System::String^ path);
42 XXSharpKmyMath::Vector3 getSize();
43 XXSharpKmyMath::Vector3 getCenter();
44 static XXSharpKmyMath::Vector3 getCenterImpl(kmyGfx::ModelData *obj);
46 void setBlendType(System::String ^mtlname,
int type);
47 int getMaterialIndex(System::String ^name);
48 int getMeshClusterMaterialIndex(
int index);
49 size_t getIndexCount(
int index);
50 int getBoneCount(
int index);
51 Material^ getMaterial(u32 index);
52 bool isOverInfluenceCount(
int index);
53 array<System::String^> ^getTextureNameList();
54 System::Collections::Generic::List<System::String^>^ getMotionNameList();
55 System::Collections::Generic::Dictionary<System::String^, XXSharpKmyMath::Vector2>^ getMotion();
56 System::String^ getPath();
57 void saveDefFile(System::String^ path);
60 void constructPBRMaterial();
61 bool evalMaterialCount() {
return obj ? obj->evalMaterialCount() :
true; }
62 void validateVertexDesc() {
if (obj)obj->validateVertexDesc(); }
63 void clearMaterialGUID() {
if (obj)obj->clearMaterialGUID(); }
64 void setMaterialGUID(
int index, System::Guid
id);
65 void setVertexCompressMode(
bool compress);
66 bool getVertexCompressMode();
67 void setVrmSpringBoneLimit(
float limit);
70 XXSharpKmyMath::Vector3 getPreviewOffset();
71 XXSharpKmyMath::Vector3 getPreviewAngle();
72 array<XXSharpKmyMath::Vector3> ^getMeshCollisionVertices();
73 array<System::String^> ^getNodeNameList();
75 bool hasUnTriangulateMesh();
76 void setSkinnedBoundSphereRadiusScale(
float v) {
77 if (obj)obj->setSkinnedBoundSphereRadiusScale(v);
79 float getSkinnedBoundSphereRadiusScale() {
80 return obj ? obj->getSkinnedBoundSphereRadiusScale() : 1.0f;
87 enum class VrmLookAtType :
int
95 ModelExporter::ModelDataWrap^ GetModelData();
97 int vrmGetTextureNum();
98 System::String^ vrmGetTextureName(
int index);
99 void vrmStoreTextureToFile(
int index, System::String^ path);
100 array<Byte>^ vrmGetImageArray(
int index);
102 System::String^ vrmGetMaterialDef(
int index);
103 VrmLookAtType vrmGetLookAtType();