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