X-Git-Url: https://git.jsancho.org/?p=c-irrlicht.git;a=blobdiff_plain;f=include%2FEPrimitiveTypes.h;fp=include%2FEPrimitiveTypes.h;h=272691861da36d934785e4c77ab762b996dc65c9;hp=0000000000000000000000000000000000000000;hb=7e46627fbadd2bcf8169ae429e6fe0a546d2797a;hpb=482d9e598cce378cdb7f5568c9efe5befe579494 diff --git a/include/EPrimitiveTypes.h b/include/EPrimitiveTypes.h new file mode 100644 index 0000000..2726918 --- /dev/null +++ b/include/EPrimitiveTypes.h @@ -0,0 +1,64 @@ +/* c-irrlicht --- C bindings for Irrlicht Engine + + Copyright (C) 2019 Javier Sancho + + This file is part of c-irrlicht. + + c-irrlicht is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. + + c-irrlicht is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with guile-irrlicht. If not, see + . +*/ + +#ifndef __C_IRR_E_PRIMITIVE_TYPES_H_INCLUDED__ +#define __C_IRR_E_PRIMITIVE_TYPES_H_INCLUDED__ + +//! Enumeration for all primitive types there are. +typedef enum + { + //! All vertices are non-connected points. + irr_scene_EPT_POINTS=0, + + //! All vertices form a single connected line. + irr_scene_EPT_LINE_STRIP, + + //! Just as LINE_STRIP, but the last and the first vertex is also connected. + irr_scene_EPT_LINE_LOOP, + + //! Every two vertices are connected creating n/2 lines. + irr_scene_EPT_LINES, + + //! After the first two vertices each vertex defines a new triangle. + //! Always the two last and the new one form a new triangle. + irr_scene_EPT_TRIANGLE_STRIP, + + //! After the first two vertices each vertex defines a new triangle. + //! All around the common first vertex. + irr_scene_EPT_TRIANGLE_FAN, + + //! Explicitly set all vertices for each triangle. + irr_scene_EPT_TRIANGLES, + + //! After the first two vertices each further tw vetices create a quad with the preceding two. + irr_scene_EPT_QUAD_STRIP, + + //! Every four vertices create a quad. + irr_scene_EPT_QUADS, + + //! Just as LINE_LOOP, but filled. + irr_scene_EPT_POLYGON, + + //! The single vertices are expanded to quad billboards on the GPU. + irr_scene_EPT_POINT_SPRITES + } irr_scene_E_PRIMITIVE_TYPE; + +#endif