xref: /haiku/src/apps/haiku3d/mesh/StaticMesh.h (revision bee3c7a91530d16bc444d3c10720b16783ba1bed)
1*bee3c7a9SAlexandre Deckner /*
2*bee3c7a9SAlexandre Deckner  * Copyright 2009, Haiku Inc. All rights reserved.
3*bee3c7a9SAlexandre Deckner  * Distributed under the terms of the MIT License.
4*bee3c7a9SAlexandre Deckner  *
5*bee3c7a9SAlexandre Deckner  * Authors:
6*bee3c7a9SAlexandre Deckner  * 		Alexandre Deckner <alex@zappotek.com>
7*bee3c7a9SAlexandre Deckner  */
8*bee3c7a9SAlexandre Deckner #ifndef _STATICMESH_H
9*bee3c7a9SAlexandre Deckner #define _STATICMESH_H
10*bee3c7a9SAlexandre Deckner 
11*bee3c7a9SAlexandre Deckner #include "Mesh.h"
12*bee3c7a9SAlexandre Deckner #include "Vector3.h"
13*bee3c7a9SAlexandre Deckner 
14*bee3c7a9SAlexandre Deckner 
15*bee3c7a9SAlexandre Deckner class StaticMesh : public Mesh {
16*bee3c7a9SAlexandre Deckner public:
17*bee3c7a9SAlexandre Deckner 					StaticMesh(const char* fileName);
18*bee3c7a9SAlexandre Deckner 	virtual			~StaticMesh();
19*bee3c7a9SAlexandre Deckner 
20*bee3c7a9SAlexandre Deckner 	virtual	Face&	GetFace(uint32 index) const;
21*bee3c7a9SAlexandre Deckner 	virtual uint32	FaceCount() const;
22*bee3c7a9SAlexandre Deckner 
23*bee3c7a9SAlexandre Deckner protected:
24*bee3c7a9SAlexandre Deckner 	void	_ReadText(const char* fileName);
25*bee3c7a9SAlexandre Deckner 	void	_WriteBinary(const char* fileName);
26*bee3c7a9SAlexandre Deckner 	void	_ReadBinary(const char* fileName);
27*bee3c7a9SAlexandre Deckner 	void	_ReadResource(const char* resourceName);
28*bee3c7a9SAlexandre Deckner 
29*bee3c7a9SAlexandre Deckner 	Face*	fFaces;
30*bee3c7a9SAlexandre Deckner 	uint32	fFaceCount;
31*bee3c7a9SAlexandre Deckner };
32*bee3c7a9SAlexandre Deckner 
33*bee3c7a9SAlexandre Deckner #endif /* _STATICMESH_H */
34