x
Yes
No
Do you want to visit DriveHQ English website?
Inicio
Características
Precios
Prueba gratuita
Software cliente
Acerca de nosotros
Servidor de archivos
|
Solución de copias de seguridad
|
Servidor FTP
|
Servidor de correo electrónico
|
Alojamiento web
|
Software cliente
Servidor de archivos
Solución de copia de seguridad
Servidor FTP
Servidor de correo electrónico
Alojamiento web
Software cliente
OgrePose.h - Hosted on DriveHQ Cloud IT Platform
Arriba
Subir
Descargar
Compartir
Publicar
Nueva carpeta
Nuevo archivo
Copiar
Cortar
Eliminar
Pegar
Clasificación
Actualizar
Ruta de la carpeta: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\ogre\include\OgrePose.h
Girar
Efecto
Propiedad
Historial
/* ----------------------------------------------------------------------------- This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info, see http://www.ogre3d.org/ Copyright (c) 2000-2005 The OGRE Team Also see acknowledgements in Readme.html This program 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 2 of the License, or (at your option) any later version. This program 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to http://www.gnu.org/copyleft/lesser.txt. You may alternatively use this source under the terms of a specific version of the OGRE Unrestricted License provided you have obtained such a license from Torus Knot Software Ltd. ----------------------------------------------------------------------------- */ #ifndef __OGRE_POSE_H #define __OGRE_POSE_H #include "OgrePrerequisites.h" #include "OgreString.h" #include "OgreHardwareVertexBuffer.h" #include "OgreVector3.h" #include "OgreIteratorWrappers.h" namespace Ogre { /** A pose is a linked set of vertex offsets applying to one set of vertex data. @remarks The target index referred to by the pose has a meaning set by the user of this class; but for example when used by Mesh it refers to either the Mesh shared geometry (0) or a SubMesh dedicated geometry (1+). Pose instances can be referred to by keyframes in VertexAnimationTrack in order to animate based on blending poses together. */ class _OgreExport Pose { public: /** Constructor @param target The target vertexdata index (0 for shared, 1+ for dedicated at the submesh index + 1) @param name Optional name */ Pose(ushort target, const String& name = StringUtil::BLANK); virtual ~Pose(); /// Return the name of the pose (may be blank) const String& getName(void) const { return mName; } /// Return the target geometry index of the pose ushort getTarget(void) const { return mTarget; } /// A collection of vertex offsets based on the vertex index typedef std::map
VertexOffsetMap; /// An iterator over the vertex offsets typedef MapIterator
VertexOffsetIterator; /// An iterator over the vertex offsets typedef ConstMapIterator
ConstVertexOffsetIterator; /** Adds an offset to a vertex for this pose. @param index The vertex index @param offset The position offset for this pose */ void addVertex(size_t index, const Vector3& offset); /** Remove a vertex offset. */ void removeVertex(size_t index); /** Clear all vertex offsets. */ void clearVertexOffsets(void); /** Gets an iterator over all the vertex offsets. */ ConstVertexOffsetIterator getVertexOffsetIterator(void) const; /** Gets an iterator over all the vertex offsets. */ VertexOffsetIterator getVertexOffsetIterator(void); /** Gets a const reference to the vertex offsets. */ const VertexOffsetMap& getVertexOffsets(void) const { return mVertexOffsetMap; } /** Get a hardware vertex buffer version of the vertex offsets. */ const HardwareVertexBufferSharedPtr& _getHardwareVertexBuffer(size_t numVertices) const; /** Clone this pose and create another one configured exactly the same way (only really useful for cloning holders of this class). */ Pose* clone(void) const; protected: /// Target geometry index ushort mTarget; /// Optional name String mName; /// Primary storage, sparse vertex use VertexOffsetMap mVertexOffsetMap; /// Derived hardware buffer, covers all vertices mutable HardwareVertexBufferSharedPtr mBuffer; }; typedef std::vector
PoseList; } #endif
OgrePose.h
Dirección de la página
Dirección del archivo
Anterior
133/217
Siguiente
Descargar
( 4 KB )
Comments
Total ratings:
0
Average rating:
No clasificado
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.