1 /* bzflag
2  * Copyright (c) 1993-2021 Tim Riker
3  *
4  * This package is free software;  you can redistribute it and/or
5  * modify it under the terms of the license found in the file
6  * named COPYING that should have accompanied this file.
7  *
8  * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
9  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
10  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
11  */
12 
13 #ifndef __CUSTOMTETRA_H__
14 #define __CUSTOMTETRA_H__
15 
16 /* interface header */
17 #include "WorldFileObstacle.h"
18 
19 /* local interface header */
20 #include "WorldInfo.h"
21 
22 /* system header */
23 #include <string>
24 
25 /* common interface header */
26 #include "BzMaterial.h"
27 
28 class CustomTetra : public WorldFileObstacle
29 {
30 public:
31     CustomTetra();
32     virtual bool read(const char *cmd, std::istream& input);
33     virtual void writeToGroupDef(GroupDefinition*) const;
34 
35 private:
36     int vertexCount;
37 
38     float vertices[4][3];
39     float normals[4][3][3];
40     float texcoords[4][3][2];
41     bool useNormals[4];
42     bool useTexcoords[4];
43     BzMaterial materials[4];
44 };
45 
46 #endif  /* __CUSTOMTETRA_H__ */
47 
48 // Local variables: ***
49 // mode: C++ ***
50 // tab-width: 4***
51 // c-basic-offset: 4 ***
52 // indent-tabs-mode: nil ***
53 // End: ***
54 // ex: shiftwidth=4 tabstop=4
55