x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
OgrePose.h - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\ogre\include\OgrePose.h
旋转
特效
属性
历史版本
/* ----------------------------------------------------------------------------- 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
网页地址
文件地址
上一页
133/217
下一页
下载
( 4 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.