# OgreStaticFaceGroup.h

Go to the documentation of this file.

    00001 /*
    00002 -----------------------------------------------------------------------------
    00003 This source file is part of OGRE
    00004     (Object-oriented Graphics Rendering Engine)
    00005 For the latest info, see http://www.ogre3d.org/
    00006
    00007 Copyright (c) 2000-2005 The OGRE Team
    00008 Also see acknowledgements in Readme.html
    00009
    00010 This program is free software; you can redistribute it and/or modify it under
    00011 the terms of the GNU Lesser General Public License as published by the Free Software
    00012 Foundation; either version 2 of the License, or (at your option) any later
    00013 version.
    00014
    00015 This program is distributed in the hope that it will be useful, but WITHOUT
    00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
    00018
    00019 You should have received a copy of the GNU Lesser General Public License along with
    00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
    00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
    00022 http://www.gnu.org/copyleft/lesser.txt.
    00023 -----------------------------------------------------------------------------
    00024 */
    00025 #ifndef __StaticFaceGroup_H__
    00026 #define __StaticFaceGroup_H__
    00027
    00028 #include "OgrePrerequisites.h"
    00029
    00030 #include "OgrePlane.h"
    00031 #include "OgrePatchSurface.h"
    00032
    00033 namespace Ogre {
    00034
    00036     enum FaceGroupType {
    00037         FGT_FACE_LIST,
    00038         FGT_PATCH,
    00039         FGT_UNKNOWN
    00040     };
    00041
    00060     struct StaticFaceGroup {
    00061         // Type of face group.
    00062         FaceGroupType fType;
    00063
    00065         bool isSky;
    00066
    00070         int vertexStart;
    00071
    00076         int numVertices;
    00077
    00085         int elementStart;
    00086
    00090         int numElements;
    00091
    00096         int materialHandle;
    00097
    00098         Plane plane;
    00099
    00101         PatchSurface* patchSurf;
    00102
    00103
    00104         friend std::ostream& operator<<(std::ostream& o, StaticFaceGroup& s)
    00105         {
    00106             o << "StaticFaceGroup(";
    00107             if (s.fType == FGT_FACE_LIST)
    00108             {
    00109                 o << "faceList, numVertices=" << s.numVertices << ", vertexStart=" << s.vertexStart;
    00110                 o << ", numElements=" << s.numElements << ", elementStart=" << s.elementStart;
    00111                 o << ", normal=" << s.plane.normal;
    00112             }
    00113             else if (s.fType == FGT_PATCH)
    00114             {
    00115                 o << "bezierPatch, numVertices=" << s.numVertices << ", vertexStart=" << s.vertexStart;
    00116                 // TODO
    00117             }
    00118
    00119             o << ", materialHandle=" << s.materialHandle;
    00120             o << ")";
    00121
    00122             return o;
    00123         }
    00124
    00125
    00126     };
    00127
    00128 } // namespace
    00129
    00130 #endif

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 12:59:53 2006