Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef PHYSMESH_H
#define PHYSMESH_H
#ifdef _WIN32
#pragma once
#endif
#include "datacache/imdlcache.h"
#include "vphysics_interface.h"
#include "vcollide_parse.h"
struct studiohdr_t;
struct hlmvsolid_t : public solid_t { float massBias; int surfacePropIndex; };
struct merge_t { int parent; int child; };
struct editparams_t { float totalMass; char rootName[128]; int concave; int mergeCount; merge_t mergeList[32]; // there are never very many of these, so don't bother doing anything dynamic
};
class CPhysmesh { public: void Clear( void );
char m_boneName[64]; int m_vertCount; Vector *m_pVerts; matrix3x4_t m_matrix;
hlmvsolid_t m_solid; constraint_ragdollparams_t m_constraint; ICollisionQuery *m_pCollisionModel; };
class IStudioPhysics { public: virtual ~IStudioPhysics( void ) {}
virtual char *DumpQC( void ) = 0; virtual int Count( void ) = 0; virtual CPhysmesh *GetMesh( int index ) = 0; virtual float GetMass( void ) = 0; };
IStudioPhysics *LoadPhysics( MDLHandle_t mdlHandle ); void DestroyPhysics( IStudioPhysics *pStudioPhysics );
#endif // PHYSMESH_H
|