mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-12 16:21:04 +02:00
76f642286e
Added neural network code(turned off by default). Lots of editor and rendering fixes.
72 lines
2.3 KiB
C++
72 lines
2.3 KiB
C++
#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;
|
|
}; |