mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-15 05:06:57 +00:00
1
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef VIRTUALMESH_H
|
||||
#define VIRTUALMESH_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// NOTE: These are fixed length to make it easy to fill these out without memory allocation or storage
|
||||
const int MAX_VIRTUAL_TRIANGLES = 1024;
|
||||
struct virtualmeshlist_t
|
||||
{
|
||||
Vector *pVerts;
|
||||
int indexCount;
|
||||
int triangleCount;
|
||||
int vertexCount;
|
||||
int surfacePropsIndex;
|
||||
byte *pHull;
|
||||
unsigned short indices[MAX_VIRTUAL_TRIANGLES*3];
|
||||
};
|
||||
|
||||
struct virtualmeshtrianglelist_t
|
||||
{
|
||||
int triangleCount;
|
||||
unsigned short triangleIndices[MAX_VIRTUAL_TRIANGLES*3];
|
||||
};
|
||||
|
||||
class IVirtualMeshEvent
|
||||
{
|
||||
public:
|
||||
virtual void GetVirtualMesh( void *userData, virtualmeshlist_t *pList ) = 0;
|
||||
virtual void GetWorldspaceBounds( void *userData, Vector *pMins, Vector *pMaxs ) = 0;
|
||||
virtual void GetTrianglesInSphere( void *userData, const Vector ¢er, float radius, virtualmeshtrianglelist_t *pList ) = 0;
|
||||
};
|
||||
struct virtualmeshparams_t
|
||||
{
|
||||
IVirtualMeshEvent *pMeshEventHandler;
|
||||
void *userData;
|
||||
bool buildOuterHull;
|
||||
};
|
||||
|
||||
#endif // VIRTUALMESH_H
|
||||
Reference in New Issue
Block a user