tge/engine/core/polyList.h
2017-04-17 06:17:10 -06:00

55 lines
1.2 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#ifndef _POLYLIST_H_
#define _POLYLIST_H_
//Includes
#ifndef _PLATFORM_H_
#include "platform/platform.h"
#endif
#ifndef _TVECTOR_H_
#include "core/tVector.h"
#endif
#ifndef _MPOINT_H_
#include "math/mPoint.h"
#endif
#ifndef _MPLANE_H_
#include "math/mPlane.h"
#endif
class PolyList
{
public:
struct Poly {
public:
PlaneF plane;
U32 material;
U16 vStart;
U16 vCount;
// NOTE: USE THESE FUNCTIONS! The above exposed implementation is likely
// to change soon.
public:
U16 getVIndex(U16 n) const { return U16(vStart + n); }
U16 getVCount() const { return vCount; }
const PlaneF& getPlane() const { return plane; }
U32 getMaterial() const { return material; }
};
public:
PolyList() {
VECTOR_SET_ASSOCIATION(mPolys);
VECTOR_SET_ASSOCIATION(mVertices);
}
Vector<Poly> mPolys;
Vector<Point3F> mVertices;
};
#endif //_POLYLIST_H_