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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ogremayamesh.h

?? 使用stl技術(shù),(還沒看,是聽說的)
?? H
字號:
/*
============================================================================
This source file is part of the Ogre-Maya Tools.
Distributed as part of Ogre (Object-oriented Graphics Rendering Engine).
Copyright (C) 2003 Fifty1 Software Inc., Bytelords

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU 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 General Public License for more details.

You should have received a copy of the GNU 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/licenses/gpl.txt
============================================================================
*/
#ifndef _OGREMAYA_MESH_H_
#define _OGREMAYA_MESH_H_

#include "OgreMayaCommon.h"

#include <maya/MGlobal.h>
#include <maya/MFloatArray.h>
#include <maya/MPointArray.h>
#include <maya/MFloatVectorArray.h>
#include <maya/MColorArray.h>
#include <maya/MObjectArray.h>
#include <maya/MFnMesh.h>
#include <maya/MStatus.h>
#include <maya/MItMeshPolygon.h>

#include <fstream>

#include <string>
#include <list>
#include <vector>

namespace OgreMaya {

	using std::ofstream;
	using std::list;
	using std::string;
	using std::vector;

	//	===========================================================================
	/** \struct		MeshUV
		Simple structure with single set of UV coordinates for a single vertex.
	*/	
	//	===========================================================================
	struct MeshVertexUV {
		Real u;
		Real v;
        
		MeshVertexUV() {
			u = (Real)0.0;
			v = (Real)0.0;
		}

        bool operator ==(const MeshVertexUV& other) const {
            return u==other.u && v==other.v;
        }
	};
	typedef list<MeshVertexUV> MeshVertexUVList;
	

	//	===========================================================================
	/** \struct		MeshMayaUVSet
		Structure that holds UVs for all vertex-faces for a single UV set.
	*/	
	//	===========================================================================
	struct MeshMayaUVSet {
		MFloatArray	uArray;
		MFloatArray	vArray;
		MString		sName;
	};
	typedef list<MeshMayaUVSet> MeshMayaUVSetList;


    //	===========================================================================
	/** \struct		MeshMayaUVSet
		Structure that holds UVs for all vertex-faces for a single UV set.
	*/	
	//	===========================================================================
	struct VertexBoneAssigment {
        int boneId;
		float weight;
	};
	typedef list<VertexBoneAssigment> VertexBoneAssigmentList;


	//	===========================================================================
	/** \struct		MeshMayaGeometry
		Structure that holds all data for a single Maya mesh.
	*/	
	//	===========================================================================
	struct MeshMayaGeometry {
		MString                  Name;
		MString                  MaterialName;
		MPointArray			     Vertices;
		MFloatVectorArray	     FaceVertexNormals;	 // face-vertex normals
		MColorArray			     FaceVertexColours;
		MIntArray			     TriangleVertexIds;	 // face-relative ids
		MIntArray			     TrianglePolygonIds; // polygon number for each triangle
		MeshMayaUVSetList	     UVSets;
        vector<MFloatArray>      Weights;
	};

	//	===========================================================================
	/** \struct		MeshFaceVertex
		Structure that defines a face-vertex.
	*/	
	//	===========================================================================
	struct MeshFaceVertex {
		Vector3          vecPosition;
		Vector3          vecNormal;
		ColourValue      colour;
		MeshVertexUVList listUV;

        VertexBoneAssigmentList boneAssigments;

		bool operator==(const MeshFaceVertex& other) const {
            // that's enough for equality (boneAssigment is not neccessery)
            return
                colour == other.colour
                && vecPosition == other.vecPosition
                && vecNormal == other.vecNormal
                && listEqual(
                    listUV.begin(), other.listUV.begin(),
                    listUV.end(), other.listUV.end()
                );                
		}
	};
	typedef vector<MeshFaceVertex> MeshFaceVertexVector;


	//	===========================================================================
	/** \struct		MeshTriFace
		Structure that defines a triangular face as a set of 3 indices into an
		arrray of MeshFaceVertex'es.
	*/	
	//	===========================================================================
	struct MeshTriFace {
		unsigned long index0;
		unsigned long index1;
		unsigned long index2;
	};
	typedef list<MeshTriFace> MeshTriFaceList;


	//	===========================================================================
	/** \class		MeshGenerator
		\author		John Van Vliet, Fifty1 Software Inc.
		\version	1.0
		\date		June 2003

		Generates an Ogre mesh from a Maya scene. The complete Maya scene is 
		represented by a single Ogre Mesh, and Maya meshes are represented by 
		Ogre SubMeshes.
	*/	
	//	===========================================================================
	class MeshGenerator	{
	public:

		/// Standard constructor.
		MeshGenerator();
		
		/// Destructor.
		virtual ~MeshGenerator();

		/// Export the complete Maya scene (called by OgreMaya.mll or OgreMaya.exe).
		bool exportAll();

		/// Export selected parts of the Maya scene (called by OgreMaya.mll).
		bool exportSelection();

	protected:
		/// Required for OptionParser interface.
		//bool _validateOptions();

		/// Return visibility of a DAG node.
		bool _isVisible(MFnDagNode &fnDag, MStatus &status);
		
		/// Process a Maya polyMesh.
		MStatus _processPolyMesh(ofstream& out, const MDagPath dagPath);
		MStatus _queryMayaGeometry(MFnMesh &fnMesh, MeshMayaGeometry &rGeom);
		MStatus _parseMayaGeometry(MFnMesh &fnMesh,
			                       MeshMayaGeometry &MayaGeometry, 
			                       MeshFaceVertexVector &FaceVertices, 
								   MeshTriFaceList &TriFaces);		

		void _convertObjectToFace(MItMeshPolygon &iterPoly, MIntArray &objIndices, MIntArray &faceIndices);

        MString getMaterialName(MFnMesh &fnMesh);

	};

} // namespace OgreMaya

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久国产精品免费看| 亚洲色图欧美激情| 午夜精品久久久久久久久| 欧美亚洲精品一区| 亚洲一区二区三区国产| 欧美日韩国产一二三| 免费成人美女在线观看| 久久久精品免费免费| 成人精品国产免费网站| 亚洲激情网站免费观看| 3d动漫精品啪啪一区二区竹菊 | 久久亚洲精品小早川怜子| 国产一区二区视频在线| 欧美高清在线一区二区| 一本久久a久久精品亚洲| 性欧美大战久久久久久久久| 日韩视频一区二区三区| 国产丶欧美丶日本不卡视频| 亚洲啪啪综合av一区二区三区| 在线观看三级视频欧美| 蓝色福利精品导航| 欧美国产成人在线| 欧美日韩国产在线观看| 久久国产尿小便嘘嘘| 国产精品久久久久aaaa樱花| 欧美天堂一区二区三区| 蜜臀国产一区二区三区在线播放| 久久久久久**毛片大全| 日本高清不卡aⅴ免费网站| 日本免费新一区视频| 国产精品久久久一本精品| 欧美亚洲综合一区| 国产成人自拍高清视频在线免费播放| 亚洲色图欧美偷拍| 精品成a人在线观看| 色婷婷国产精品综合在线观看| 人妖欧美一区二区| 亚洲视频一区在线观看| 欧美大片在线观看| 色综合天天综合网天天看片| 久久精品国产**网站演员| 最新热久久免费视频| 91精品在线一区二区| 成人h版在线观看| 久久精品国产一区二区三区免费看| 欧美激情一区二区三区全黄| 欧美一区二区私人影院日本| 一本色道久久综合亚洲aⅴ蜜桃| 久99久精品视频免费观看| 亚洲一区免费观看| 国产精品麻豆网站| 久久久精品tv| 精品三级在线观看| 欧美日韩成人综合天天影院 | 国产亚洲一二三区| 欧美一区二区三区在线看| 99re热这里只有精品免费视频| 蜜桃av一区二区三区电影| 伊人夜夜躁av伊人久久| 亚洲国产精品传媒在线观看| 欧美一区二区大片| 欧美日韩中文另类| 色婷婷av一区二区三区大白胸| 风间由美中文字幕在线看视频国产欧美 | 亚洲国产精品ⅴa在线观看| 欧美一区二区三区免费观看视频| 91久久精品一区二区三| 国产mv日韩mv欧美| 国产一区 二区| 精久久久久久久久久久| 玖玖九九国产精品| 美女一区二区在线观看| 日韩国产精品91| 午夜在线成人av| 亚洲超丰满肉感bbw| 亚洲一区二区综合| 亚洲国产精品久久艾草纯爱 | 欧美日韩国产一级片| 欧美日韩综合在线| 欧美日韩你懂得| 91.com视频| 日韩精品在线网站| 精品国产在天天线2019| 欧美va亚洲va国产综合| 久久综合色综合88| 国产香蕉久久精品综合网| 久久看人人爽人人| 国产欧美日韩不卡| 中文字幕一区二区三区色视频| 中文字幕av一区二区三区| 18成人在线观看| 亚洲伦在线观看| 亚洲成av人片www| 久久精品免费观看| 国产成人精品亚洲777人妖| 国产成人午夜精品影院观看视频 | 亚洲第一主播视频| 亚洲成人激情自拍| 免费在线观看视频一区| 国模无码大尺度一区二区三区| 精品一区二区三区日韩| 国产91精品一区二区麻豆网站| 成人午夜看片网址| 色成人在线视频| 在线电影院国产精品| 欧美r级在线观看| 欧美激情一区二区三区不卡 | 欧美在线观看你懂的| 欧美福利电影网| 国产亚洲自拍一区| 亚洲免费观看高清完整版在线| 亚洲成人动漫av| 国产美女娇喘av呻吟久久| 91农村精品一区二区在线| 欧美日韩国产综合一区二区三区 | 国产一区二区影院| 91色视频在线| 日韩精品资源二区在线| 亚洲欧洲日韩在线| 日韩成人dvd| 色呦呦网站一区| 精品国产一区二区三区久久影院| 亚洲欧洲韩国日本视频| 日韩制服丝袜av| 成人免费视频网站在线观看| 欧美视频日韩视频在线观看| 国产日韩欧美综合在线| 亚洲成人福利片| www.亚洲色图| 欧美大片在线观看| 亚洲va天堂va国产va久| 国产成人av电影在线播放| 欧美美女直播网站| 国产精品美女www爽爽爽| 日韩精品三区四区| 99久免费精品视频在线观看 | 欧美性极品少妇| 国产网红主播福利一区二区| 偷拍一区二区三区四区| 丁香六月综合激情| 欧美精品一区二| 婷婷综合另类小说色区| 99久久久久久| 久久久久久久久久美女| 六月婷婷色综合| 欧美视频中文字幕| 亚洲欧美一区二区三区国产精品 | 亚洲成人av免费| 成人性视频网站| 亚洲精品一线二线三线无人区| 亚洲小说欧美激情另类| 成人av在线影院| 久久久久久久久久电影| 麻豆精品一区二区三区| 欧美日韩亚洲综合一区| 中文字幕中文字幕一区| 国内精品在线播放| 欧美一区二区成人| 日韩极品在线观看| 欧美亚洲动漫制服丝袜| 亚洲日本va午夜在线电影| 国产不卡视频一区| 国产日韩欧美综合一区| 国产精品正在播放| 久久先锋影音av鲁色资源| 蜜桃av噜噜一区| 日韩区在线观看| 毛片av一区二区| 日韩一区二区电影网| 免费成人av在线| 欧美一区二区在线观看| 裸体在线国模精品偷拍| 日韩欧美在线123| 美腿丝袜一区二区三区| 日韩一区二区三区免费看| 日本亚洲天堂网| 日韩一区二区精品葵司在线| 日本亚洲免费观看| 日韩欧美一区二区不卡| 老司机午夜精品99久久| 欧美日韩成人激情| 日韩av电影免费观看高清完整版| 欧美欧美欧美欧美| 久久激情五月婷婷| 久久久亚洲精华液精华液精华液| 国产在线精品一区在线观看麻豆| 久久综合久久综合久久| 国产成人综合自拍| 亚洲色图欧美激情| 欧美三电影在线| 卡一卡二国产精品| 国产精品久久久久一区二区三区| 91亚洲精品久久久蜜桃网站| 亚洲一卡二卡三卡四卡无卡久久 | 国产不卡视频一区二区三区| 亚洲欧美自拍偷拍色图| 欧美视频中文一区二区三区在线观看| 日日摸夜夜添夜夜添精品视频 | 国产乱码精品一区二区三| 国产午夜精品美女毛片视频|