00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef MODULE_CLOTHING_H
00013 #define MODULE_CLOTHING_H
00014
00015 #include "Module.h"
00016
00017 namespace nvidia
00018 {
00019 namespace apex
00020 {
00021
00022 PX_PUSH_PACK_DEFAULT
00023
00024 class ClothingAsset;
00025 class ClothingAssetAuthoring;
00026 class ClothingPhysicalMesh;
00027
00028 class IProgressListener;
00029 class RenderMeshAssetAuthoring;
00030
00046 class ModuleClothing : public Module
00047 {
00048 public:
00052 virtual ClothingPhysicalMesh* createEmptyPhysicalMesh() = 0;
00053
00063 virtual ClothingPhysicalMesh* createSingleLayeredMesh(RenderMeshAssetAuthoring* asset, uint32_t subdivision, bool mergeVertices, bool closeHoles, IProgressListener* progress) = 0;
00064
00065 protected:
00066 virtual ~ModuleClothing() {}
00067 };
00068
00069 #if !defined(_USRDLL)
00070
00074 void instantiateModuleClothing();
00075 #endif
00076
00077
00078 PX_POP_PACK
00079
00080 }
00081 }
00082
00083 #endif // MODULE_CLOTHING_H