mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-12 16:21:04 +02:00
Added modelviewer.
Added neural network code(turned off by default). Lots of editor and rendering fixes.
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
#pragma once
|
||||
|
||||
class idMD5Anim;
|
||||
|
||||
typedef struct {
|
||||
jointHandle_t num;
|
||||
jointHandle_t parentNum;
|
||||
int channel;
|
||||
} jointInfo_t;
|
||||
|
||||
class idMD5AnimInterface {
|
||||
public:
|
||||
virtual const char* Name() const = 0;
|
||||
};
|
||||
|
||||
class idAnimInterface {
|
||||
public:
|
||||
virtual int NumAnims() const = 0;
|
||||
virtual const idMD5Anim* MD5Anim(int index) const = 0;
|
||||
virtual const char* Name() const = 0;
|
||||
};
|
||||
|
||||
/*
|
||||
===============
|
||||
idDeclModelDefInterface
|
||||
|
||||
Engine/editor-facing interface for modelDef decls.
|
||||
|
||||
This lets Radiant / editor code depend on the modelDef API without needing the
|
||||
full concrete idDeclModelDef type in scope.
|
||||
===============
|
||||
*/
|
||||
class idDeclModelDefInterface : public idDecl {
|
||||
public:
|
||||
virtual ~idDeclModelDefInterface() {}
|
||||
|
||||
// idDecl interface
|
||||
virtual size_t Size(void) const = 0;
|
||||
virtual const char* DefaultDefinition(void) const = 0;
|
||||
virtual bool Parse(const char* text, const int textLength) = 0;
|
||||
virtual void FreeData(void) = 0;
|
||||
|
||||
// modelDef interface
|
||||
virtual void Touch(void) const = 0;
|
||||
|
||||
virtual const idDeclSkin* GetDefaultSkin(void) const = 0;
|
||||
virtual const idJointQuat* GetDefaultPose(void) const = 0;
|
||||
virtual void SetupJoints(int* numJoints, idJointMat** jointList, idBounds& frameBounds, bool removeOriginOffset) const = 0;
|
||||
virtual idRenderModel* ModelHandle(void) const = 0;
|
||||
virtual void GetJointList(const char* jointnames, idList<jointHandle_t>& jointList) const = 0;
|
||||
virtual const jointInfo_t* FindJoint(const char* name) const = 0;
|
||||
|
||||
virtual int NumAnims(void) const = 0;
|
||||
virtual const idAnimInterface* GetAnim(int index) const = 0;
|
||||
virtual int GetSpecificAnim(const char* name) const = 0;
|
||||
virtual int GetAnim(const char* name) const = 0;
|
||||
virtual bool HasAnim(const char* name) const = 0;
|
||||
|
||||
virtual const idDeclSkin* GetSkin(void) const = 0;
|
||||
virtual const char* GetModelName(void) const = 0;
|
||||
|
||||
virtual const idList<jointInfo_t>& Joints(void) const = 0;
|
||||
virtual const int* JointParents(void) const = 0;
|
||||
virtual int NumJoints(void) const = 0;
|
||||
virtual const jointInfo_t* GetJoint(int jointHandle) const = 0;
|
||||
virtual const char* GetJointName(int jointHandle) const = 0;
|
||||
|
||||
virtual int NumJointsOnChannel(int channel) const = 0;
|
||||
virtual const int* GetChannelJoints(int channel) const = 0;
|
||||
|
||||
virtual const idVec3& GetVisualOffset(void) const = 0;
|
||||
};
|
||||
Reference in New Issue
Block a user