亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ogrecapsulemeshcollisionshape.h

?? opcode是功能強大
?? H
字號:
///////////////////////////////////////////////////////////////////////////////
///  @file OgreCapsule.h
///  @brief This class represents a CapsuleMeshCollisionShape, which is defined by 2 endpoints and a radius.
///			You can interpret it as a sphere that is sweept along a line.
///
///  @author The OgreOpcode Team
///  
///////////////////////////////////////////////////////////////////////////////
///  
///  This file is part of OgreOpcode.
///  
///  A lot of the code is based on the Nebula Opcode Collision module, see docs/Nebula_license.txt
///  
///  OgreOpcode 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.1 of the License, or (at your option) any later version.
///  
///  OgreOpcode 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 OgreOpcode; if not, write to the Free Software
///  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
///  
///////////////////////////////////////////////////////////////////////////////
#ifndef __OgreOpcodeCapsule_h__
#define __OgreOpcodeCapsule_h__

#include "OgreOpcodeLine.h"

#include "OgreOpcodeExports.h"
# include <Ogre.h>

#include "IOgreCollisionShape.h"
#include "OgreCollisionTypes.h"
#include "OgreOpcodeDebugObject.h"
#include "Opcode/Opcode.h"

namespace OgreOpcode
{
	/// Represents a CapsuleMeshCollisionShape defined by 2 endpoints and a radius
	/// TODO: add methods to this capsule.
	class _OgreOpcode_Export CapsuleMeshCollisionShape : public ICollisionShape
	{
	public:
		/// Constructs a SphereMeshCollisionShape
		CapsuleMeshCollisionShape(const Ogre::String& name);
		virtual ~CapsuleMeshCollisionShape();

		/** Default constructor: degenerated as an unitary sphere at origin
		 */
/*		CapsuleMeshCollisionShape():start(),end(),radius(1.0)
		{
		}
*/
		/// load collide geometry from mesh, and build a collision tree
		virtual bool load(const Ogre::String& name, Ogre::SceneNode* scnNode, const float radius, const float height, const int nRings = 16, const int nSegments = 16);

		/// Retrieve current vertex data from mesh and refit collision tree.
		/// This is an O(n) operation in the number of vertices in the mesh.
		virtual bool refit();

		/** Copy-constructor
		 */
/*		CapsuleMeshCollisionShape(const CapsuleMeshCollisionShape& c):start(c.start),end(c.end),radius(c.radius)
		{
		}
*/
		/** Complete constructor
		 */
/*		CapsuleMeshCollisionShape(const Ogre::Vector3& s, const Ogre::Vector3& e, Ogre::Real r ):start(s),end(e),radius(r)
		{
		}
*/
		/** Complete, headache constructor
		 */
/*		CapsuleMeshCollisionShape( Ogre::Real sx, Ogre::Real sy, Ogre::Real sz,
			     Ogre::Real ex, Ogre::Real ey, Ogre::Real ez, 
				 Ogre::Real r
			   ):start(sx,sy,sz),end(ex,ey,ez),radius(r)
		{
		}

		/// Gets the length of this line segment
		Ogre::Real length() const {  return (start - end).length(); }
		/// Gets the squared length of this line segment
		Ogre::Real length2() const {  return (start - end).squaredLength(); }

		/// Gets the surface area of this capsule
		Ogre::Real area() const
		{					
			return Ogre::Math::TWO_PI*radius*(2.0*radius + length() );
		}

		/// Gets the volume are this capsule
		Ogre::Real volume() const
		{
			return Ogre::Math::PI*radius*radius*( 1.333333333333333*length() );
		}
*/
// --------------------------------------------------------------------
// intersection tests

		/** Does this capsule contain the given point?
		 */
//		bool contains( const Ogre::Vector3& point ) const;

		/** Tests intersection between this capsule and the given Axis-Aligned
		 *  Bounding Box
         */
//		bool intersects( const Aabb& aabb ) const;

		/** Tests intersection between this capsule and the given sphere
		 */
//		bool intersects( const sphere& s ) const;

		/** Tests intersection between this capsule and the given Oriented Bounding Box
		 */
//		bool intersects( const OrientedBox& obb ) const;

		/** Tests intersection between this capsule and the given one
		 */
//		bool intersects( const CapsuleMeshCollisionShape& cap ) const;


		/** The start point of this capsule.
		 */
//		Ogre::Vector3 start;
		/** The end point of this capsule.
		 */
//		Ogre::Vector3 end;
		/** The radius of this capsule.
		 */
//		Ogre::Real radius;		
	protected:
		
		/// Reload the collision geometry from mesh, rebuild collision tree from scratch. 
		/// Potentially very slow. Only necessary if the mesh has drastically changed,
		/// like topology changing deformations, or a change in the number of tris.
		/// In most cases RefitToMesh() is sufficient, and much faster.
		/// Under usual circumstances there is no need to call this method.
		virtual bool rebuild();
		/// Refits the collision tree to the currently cached vertex data.
		/// This is an O(n) operation in the number of vertices in the mesh.
		/// This is an advanced method.  It assumes that the user is manually 
		/// updating both the SphereMeshCollisionShape's cached data and the actual mesh
		/// hardware buffers.  Mostly useful for implementing something like 
		/// deformable body physics.
		virtual bool _refitToCachedData();
		/// rebuild collision tree from scratch using currently cached vertex data
		/// This is potentially quite slow.  Only necessary if the mesh has drastically changed,
		/// like topology changing deformations, or a change in the number of tris.
		/// In most cases _RefitToCachedGeometry() is sufficient, and much faster.
		/// This is an advanced method.  It assumes that the user is manually 
		/// updating both the SphereMeshCollisionShape's cached data and the actual mesh
		/// hardware buffers.  Mostly useful for implementing something like
		/// deformable body physics.
		virtual bool _rebuildFromCachedData();

	private:
		Ogre::Entity* mEntity;

		void createCapsule(const std::string& strName, const float radius, const float height, const int nRings = 16, const int nSegments = 16);
		/// Count up the total number of vertices and indices in the Ogre mesh
		void countIndicesAndVertices(Ogre::Entity * entity, size_t & index_count, size_t & vertex_count);
		/// Convert ogre Mesh to simple float and int arrays
		void convertMeshData(Ogre::Entity * entity, float * vertexData, size_t vertex_count, size_t * faceData=0, size_t index_count=0);

		/// prevent default construction
		CapsuleMeshCollisionShape();
	};
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人一区二区三区夜夜夜| 国产精品乡下勾搭老头1| 国产欧美一区二区精品性色 | 免费在线观看成人| 亚洲成人中文在线| 亚洲一区欧美一区| 亚洲欧美日韩中文字幕一区二区三区| 中文字幕在线观看不卡| 亚洲欧洲美洲综合色网| 亚洲欧洲日韩一区二区三区| ●精品国产综合乱码久久久久| 中文字幕日韩一区| 亚洲另类在线视频| 亚洲成人7777| 久久99精品久久久久| 国产伦精品一区二区三区免费| 国产精品一区三区| 成+人+亚洲+综合天堂| 日本韩国精品一区二区在线观看| 91亚洲国产成人精品一区二区三 | 成a人片亚洲日本久久| 色综合久久天天| 欧美日韩一级二级| 日韩欧美国产麻豆| 国产精品第五页| 亚洲一二三区不卡| 美女被吸乳得到大胸91| 成人黄色小视频| 欧美日韩精品免费| 国产日韩欧美电影| 亚洲精品第1页| 国产揄拍国内精品对白| 色一情一乱一乱一91av| 在线综合视频播放| 国产精品视频看| 调教+趴+乳夹+国产+精品| 黑人精品欧美一区二区蜜桃 | 欧美aaaaa成人免费观看视频| 国内外精品视频| 一本色道亚洲精品aⅴ| 日韩一区二区在线观看| 欧美激情中文不卡| 久久精品99国产精品日本| 99国产一区二区三精品乱码| 3d成人h动漫网站入口| 国产精品久久久久久福利一牛影视| 亚洲一区二区三区小说| 国产精品夜夜嗨| 欧美一区二区三区日韩视频| 最新高清无码专区| 国产麻豆精品在线| 日韩欧美黄色影院| 亚洲一二三专区| 99久久综合色| 国产婷婷色一区二区三区四区| 亚洲gay无套男同| 91麻豆免费看| 日本一区二区三级电影在线观看 | www.日本不卡| 久久综合九色综合欧美就去吻| 亚洲国产精品一区二区尤物区| 不卡的av网站| 国产欧美精品区一区二区三区| 免费高清视频精品| 欧美一区二区三区在| 婷婷国产在线综合| 欧美图片一区二区三区| 一区二区三区精品在线| 91久色porny | 色哟哟国产精品| 国产精品福利一区| 成人h版在线观看| 久久久夜色精品亚洲| 国产精品一区2区| 久久天堂av综合合色蜜桃网| 国产一区二区在线免费观看| 精品欧美久久久| 蜜桃av一区二区在线观看| 欧美一区二区三区四区在线观看| 午夜伦欧美伦电影理论片| 678五月天丁香亚洲综合网| 日韩精品一二三四| 91麻豆精品国产91| 美脚の诱脚舐め脚责91| 久久综合色鬼综合色| 国产麻豆视频一区| 中文字幕一区免费在线观看| 91丨九色丨蝌蚪富婆spa| 一区二区三区精品| 欧美日韩精品三区| 久久精品国产久精国产爱| 久久婷婷一区二区三区| 97久久精品人人爽人人爽蜜臀| 亚洲三级在线免费| 在线成人小视频| 国产一区二区福利视频| 中文字幕的久久| 欧美色手机在线观看| 丝袜诱惑亚洲看片| 国产午夜精品久久久久久免费视| 成人av资源站| 午夜欧美2019年伦理| 久久久国产精品麻豆| 欧洲另类一二三四区| 蜜臀av一级做a爰片久久| 国产精品视频观看| 欧美美女一区二区在线观看| 国产精品一区免费在线观看| 亚洲欧美一区二区三区孕妇| 欧美日韩国产高清一区二区三区| 国产成人精品免费网站| 午夜精品视频一区| 国产人妖乱国产精品人妖| 欧美怡红院视频| 国产成人精品三级| 日本成人在线一区| 自拍偷拍亚洲激情| 久久久精品2019中文字幕之3| 色综合久久九月婷婷色综合| 精品无人区卡一卡二卡三乱码免费卡 | 欧美日韩国产成人在线免费| 国产麻豆成人传媒免费观看| 亚洲成人综合在线| 亚洲素人一区二区| 久久久99精品免费观看不卡| 欧美日韩视频专区在线播放| 国产传媒日韩欧美成人| 美国十次了思思久久精品导航| 国产精品久久福利| 国产午夜精品一区二区三区四区| 日韩一区二区影院| 欧美色男人天堂| 99亚偷拍自图区亚洲| 国精产品一区一区三区mba桃花| 亚洲在线视频一区| 亚洲美女免费在线| 欧美经典三级视频一区二区三区| 日韩亚洲欧美综合| 欧美一区二区大片| 精品视频在线免费| 91亚洲男人天堂| 91丝袜国产在线播放| 国产成人免费在线观看不卡| 激情综合网最新| 精品亚洲aⅴ乱码一区二区三区| 日韩影视精彩在线| 秋霞午夜鲁丝一区二区老狼| 午夜电影网亚洲视频| 亚洲精品成人a在线观看| 136国产福利精品导航| 中文字幕一区二区不卡| 国产精品成人网| 一区在线中文字幕| 亚洲男人的天堂在线aⅴ视频| 国产精品欧美久久久久无广告 | 香蕉成人伊视频在线观看| 一区二区成人在线观看| 一区二区成人在线| 石原莉奈在线亚洲二区| 日本成人在线视频网站| 精品一区二区精品| 国产福利一区在线| a亚洲天堂av| 欧美性极品少妇| 欧美一区二区三区的| 日韩一级免费观看| 26uuu另类欧美| 国产精品福利在线播放| 国产精品理论片在线观看| 亚洲欧美日韩国产综合在线| 亚洲一区二区三区中文字幕在线| 亚洲高清久久久| 激情久久久久久久久久久久久久久久| 韩国毛片一区二区三区| 成人a级免费电影| 欧美日韩亚洲国产综合| 欧美一区二区成人| 久久九九99视频| 亚洲一区二区精品视频| 激情五月激情综合网| jizz一区二区| 欧美精品国产精品| 亚洲国产精品激情在线观看| 日韩理论在线观看| 麻豆精品视频在线| 99re热这里只有精品视频| 欧美日韩在线一区二区| 久久午夜电影网| 亚洲va在线va天堂| 国产成人一区在线| 欧美电影一区二区三区| 国产精品九色蝌蚪自拍| 亚洲午夜电影网| 成人听书哪个软件好| 欧美精选一区二区| 综合亚洲深深色噜噜狠狠网站| 视频在线观看一区| 色综合天天综合在线视频| 日韩精品中文字幕在线不卡尤物 | 日本女人一区二区三区|