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

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

?? chvrmlevent.h

?? Windows上的MUD客戶端程序
?? H
字號:
/*----------------------------------------------------------------------------
                        _                              _ _       
        /\             | |                            | (_)      
       /  \   _ __   __| |_ __ ___  _ __ ___   ___  __| |_  __ _ 
      / /\ \ | '_ \ / _` | '__/ _ \| '_ ` _ \ / _ \/ _` | |/ _` |
     / ____ \| | | | (_| | | | (_) | | | | | |  __/ (_| | | (_| |
    /_/    \_\_| |_|\__,_|_|  \___/|_| |_| |_|\___|\__,_|_|\__,_|

    The contents of this file are subject to the Andromedia Public
	License Version 1.0 (the "License"); you may not use this file
	except in compliance with the License. You may obtain a copy of
	the License at http://www.andromedia.com/APL/

    Software distributed under the License is distributed on an
	"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
	implied. See the License for the specific language governing
	rights and limitations under the License.

    The Original Code is Pueblo client code, released November 4, 1998.

    The Initial Developer of the Original Code is Andromedia Incorporated.
	Portions created by Andromedia are Copyright (C) 1998 Andromedia
	Incorporated.  All Rights Reserved.

	Andromedia Incorporated                         415.365.6700
	818 Mission Street - 2nd Floor                  415.365.6701 fax
	San Francisco, CA 94103

    Contributor(s):
	--------------------------------------------------------------------------
	   Chaco team:  Dan Greening, Glenn Crocker, Jim Doubek,
	                Coyote Lussier, Pritham Shetty.

					Wrote and designed original codebase.

------------------------------------------------------------------------------

	Implementation for collision detection in VRML/RenderLab

----------------------------------------------------------------------------*/

// $Header: /home/cvs/chaco/modules/client/msw/ChGraphx/ChVrmlEvent.h,v 2.11 1996/08/22 22:45:16 jimd Exp $

#if !defined( _CHVRMLEVENT_H_ )
#define _CHVRMLEVENT_H_
#include "grheader.h"
#ifdef CH_MSW
#include <windows.h>
#endif
#ifdef HUGE
#undef HUGE
#endif

#if defined(CH_VRML_EVENTS) && defined( CH_VRML_PLUGIN )
#include <ChIVRMLViewer.h>
#else
#include "VrmlEvent.h"
#endif

#include <QvField.h>

class ChNode;
class ChVrmlBrowser;
class ChIVrmlEvent;


// Note that ChVrmlEvent is a local class only; event structs are copied across RPC
// including the pointers' contents. 
class ChIVrmlEvent
{
	public:



	protected:
		ChIVrmlEvent *m_nextEvent;
		ChVRMLEvent::type 		m_eventType;
		double 		m_eventTime;
		string 		m_eventName;
		int 		m_dataSize;
		char		*m_bytes;

	public:
		ChIVrmlEvent();
		ChIVrmlEvent(const ChVRMLEvent::type theType, const string &name);
		virtual ~ChIVrmlEvent();

		static ChIVrmlEvent * Create(const ChVRMLEvent &anEvent);
		ChIVrmlEvent * Append(ChIVrmlEvent * pEvent );

		inline ChVRMLEvent::type GetType() {return ChVRMLEvent::type(m_eventType & 0x7fffffff);};
		inline ChIVrmlEvent* GetNextEvent() {return m_nextEvent;};
 		inline char * GetBytes() {return m_bytes;};

		// Also need this to make OLE transportable list
		ChVRMLEvent * EventStruct();	// This does -not- bump usage counts

		inline string &GetName() { return m_eventName; };

		inline void SetMultiple(bool boolMulti = false)
		{
			if(boolMulti)
				m_eventType = (ChVRMLEvent::type)(0x8000 | m_eventType);
			else						  
				m_eventType = (ChVRMLEvent::type)(~0x8000 & m_eventType);
		}

		static bool IsMultiple(ChVRMLEvent::type aType) {return !!(aType & 0x8000);};
		bool IsMultiple() { return IsMultiple(m_eventType);};
		virtual int GetCount() {return 1;};

		QvField::type GetFieldType();



	protected:

		virtual void SetBytes(const char *someBytes);	// 
		void Copy(const ChVRMLEvent &anEvent);	
		void Copy(const ChIVrmlEvent &anEvent);
		bool SetSize(int iNewDataSize);
	
};

class ChFloatEvent : public ChIVrmlEvent
{
	public:
		ChFloatEvent(const string &name, float value);
		ChFloatEvent(const string &name, int count, float *values);
		ChFloatEvent(const ChFloatEvent &event);
		ChFloatEvent(const ChVRMLEvent &event);
		virtual ~ChFloatEvent();

		int AppendData(float value);             
		int AppendData(int count, float *values); 
		virtual int GetCount();
		bool GetValue(int index, float &value);
		bool GetValue(float &value);

};


class ChNodeEvent : public ChIVrmlEvent
{
	public:
		ChNodeEvent(const string &name, ChNode * const value);	
		ChNodeEvent(const string &name, const int count,  ChNode **values);
		ChNodeEvent(const ChNodeEvent &event);
		ChNodeEvent(const ChVRMLEvent &event);
		virtual ~ChNodeEvent();

		int AppendData(ChNode* const value);             
		int AppendData(const int count, ChNode **values); 
		virtual int GetCount();
		bool GetValue(const int index, ChNode * &value);
		bool GetValue(ChNode * &value);
		void Use();

		
	protected:
		void Use(int index);
		void Release(int index);
		virtual void SetBytes(const char *someBytes);	// 
		
};

class ChRotationEvent : public ChIVrmlEvent
{
	public:
		ChRotationEvent(const string &name, float axis[3], float angle);
		ChRotationEvent(const string &name, int count, float *values);
		ChRotationEvent(const ChRotationEvent &event);
		ChRotationEvent(const ChVRMLEvent &event);
		ChRotationEvent(const string &name, float x, float y, float z, float angle);
		virtual ~ChRotationEvent();

		int AppendData(float axis[3], float angle);             
		int AppendData(float x, float y, float z, float angle); 
		int AppendData(int count, float *values); 
		virtual int GetCount();
		bool GetValue(float axis[3], float &angle);
		bool GetValue(int i, float axis[3], float &angle);
};

class ChVec3fEvent : public ChIVrmlEvent
{
	public:
		ChVec3fEvent(const string &name, float vec[3]);
		ChVec3fEvent(const string &name, int count, float *values);
		ChVec3fEvent(const ChVec3fEvent &event);
		ChVec3fEvent(const ChVRMLEvent &event);
		ChVec3fEvent(const string &name, float x, float y, float z);
		virtual ~ChVec3fEvent();

		int AppendData(float vec[3]);             
		int AppendData(float x, float y, float z); 
		int AppendData(int count, float *values); 
		virtual int GetCount();
		bool GetValue(float vec[3]);
		bool GetValue(int i, float vec[3]);
};

class ChLongEvent : public ChIVrmlEvent
{
	public:
		ChLongEvent(const string &name, long value);
		ChLongEvent(const string &name, int count, long *values);
		ChLongEvent(const ChLongEvent &event);
		ChLongEvent(const ChVRMLEvent &event);
		virtual ~ChLongEvent();

		int AppendData(long value);             
		int AppendData(int count, long *values); 
		virtual int GetCount();
		bool GetValue(int index, long &value);
		bool GetValue(long &value);
};

class ChTimeEvent : public ChIVrmlEvent
{
	public:
		ChTimeEvent(const string &name, double value);
		ChTimeEvent(const string &name, int count, double *values);
		ChTimeEvent(const ChTimeEvent &event);
		ChTimeEvent(const ChVRMLEvent &event);
		virtual ~ChTimeEvent();

		int AppendData(double value);             
		int AppendData(int count, double *values); 
		virtual int GetCount();
		bool GetValue(int index, double &value);
		bool GetValue(double &value);
};

class ChBoolEvent : public ChIVrmlEvent
{
	public:
		ChBoolEvent(const string &name, bool value);
		ChBoolEvent(const string &name, int count, bool *values);
		ChBoolEvent(const ChBoolEvent &event);
		ChBoolEvent(const ChVRMLEvent &event);
		virtual ~ChBoolEvent();

		int AppendData(bool value);             
		int AppendData(int count, bool *values); 
		virtual int GetCount();
		bool GetValue(int index, bool &value);
		bool GetValue(bool &value);
};

typedef float ChVrmlMatrix[4][4];
class ChMatrixEvent : public ChIVrmlEvent
{
	public:
		ChMatrixEvent(const string &name, ChVrmlMatrix &value);
		ChMatrixEvent(const string &name, int count, float *values);
		ChMatrixEvent(const ChMatrixEvent &event);
		ChMatrixEvent(const ChVRMLEvent &event);
		virtual ~ChMatrixEvent();

		int AppendData(ChVrmlMatrix &value);             
		int AppendData(int count, float *values); 
		virtual int GetCount();
		bool GetValue(int index, ChVrmlMatrix &value);
		bool GetValue(ChVrmlMatrix &value);
};


// TODO: all the other types

// ---------------

class ChApplet;

class  ChEventMsg
{
	protected:
		ChNode 			*m_pNode;
		ChApplet 		*m_pApplet;
		ChIVrmlEvent	*m_pEvent;

	public:
		ChEventMsg(ChNode *pNode, ChApplet *pApplet, ChIVrmlEvent* pEvent) :
			m_pNode(pNode),
			m_pApplet(pApplet),
			m_pEvent(pEvent)
			{ };
		~ChEventMsg() {};

		inline ChNode *GetNode() { return m_pNode; }
		inline ChApplet *GetApplet() { return m_pApplet; }
		inline ChIVrmlEvent *GetEvent() { return m_pEvent; }
};

#endif // _CHVRMLEVENT_H_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美另类在线| 日韩激情在线观看| 午夜婷婷国产麻豆精品| 麻豆久久久久久久| 国产成人在线观看免费网站| 色丁香久综合在线久综合在线观看| 日韩精品自拍偷拍| 亚洲综合清纯丝袜自拍| 粉嫩高潮美女一区二区三区| 欧美日韩一区二区在线观看| 国产精品美女久久久久久久网站| 午夜精品一区二区三区免费视频| 懂色一区二区三区免费观看| 日韩视频不卡中文| 一区二区欧美视频| 丁香六月久久综合狠狠色| 日韩一区二区三区电影| 婷婷综合在线观看| 色噜噜夜夜夜综合网| 欧美国产精品久久| 国产一区二区三区久久悠悠色av| 欧美日韩国产123区| 亚洲人精品一区| 懂色av一区二区三区免费观看| 欧美电影免费观看高清完整版在线| 亚洲综合男人的天堂| 成人污视频在线观看| 久久久综合激的五月天| 国产一区不卡在线| 精品国精品国产尤物美女| 午夜激情一区二区三区| 欧美图区在线视频| 亚洲va国产天堂va久久en| 色一情一伦一子一伦一区| 国产精品国产三级国产普通话三级 | 一本大道久久精品懂色aⅴ| 久久奇米777| 国产精品99久久久久久似苏梦涵| 精品国产伦理网| 久久99精品久久久久久动态图| 日韩欧美国产一二三区| 看片的网站亚洲| 精品少妇一区二区三区在线视频| 久久国产精品区| 久久免费看少妇高潮| 国产超碰在线一区| 中文字幕佐山爱一区二区免费| av在线不卡电影| 综合激情网...| 91福利国产精品| 亚洲制服欧美中文字幕中文字幕| 欧美日韩精品久久久| 视频一区二区不卡| 久久夜色精品国产噜噜av| 国产凹凸在线观看一区二区| 国产精品久99| 欧美午夜精品免费| 免费高清不卡av| 久久综合丝袜日本网| 成人精品视频一区| 午夜伦欧美伦电影理论片| 精品精品国产高清一毛片一天堂| 国产精品一区在线| 亚洲精品乱码久久久久久黑人| 91精品国产乱码久久蜜臀| 国产精品一区免费在线观看| 亚洲乱码国产乱码精品精小说| 欧美老人xxxx18| 国产精品1区二区.| 亚洲影院久久精品| 久久久综合视频| 欧美性受xxxx黑人xyx性爽| 蜜臀a∨国产成人精品| 国产精品色哟哟网站| 欧美日韩国产中文| 成人免费不卡视频| 免费高清在线一区| 亚洲免费成人av| 26uuu亚洲| 色综合 综合色| 国产在线精品一区二区不卡了 | 国产精品99久久久久| 亚洲欧美综合在线精品| 精品免费99久久| 日本电影欧美片| 国产在线视频精品一区| 亚洲第一在线综合网站| 国产欧美日产一区| 日韩欧美国产小视频| 欧美专区在线观看一区| 国产不卡视频在线播放| 日韩电影在线观看网站| 亚洲人成在线播放网站岛国 | 欧美日韩免费视频| 国产成人av一区二区三区在线| 亚洲狠狠爱一区二区三区| 国产精品美女视频| 久久先锋资源网| 欧美刺激脚交jootjob| 精品视频1区2区| 色婷婷亚洲综合| 白白色 亚洲乱淫| 国产在线视频一区二区| 日本成人在线看| 亚洲成a人v欧美综合天堂| 亚洲天堂免费在线观看视频| 中文字幕欧美区| 国产亚洲女人久久久久毛片| 欧美精品一区二区三区四区 | 欧美性生活大片视频| 成人精品免费视频| 精品一区二区三区的国产在线播放 | 久久99久久精品| 蜜臀91精品一区二区三区| 天天av天天翘天天综合网色鬼国产| 一区二区欧美精品| 亚洲精品日韩一| 亚洲黄色尤物视频| 一级日本不卡的影视| 一区二区在线观看免费| 亚洲黄色av一区| 一个色妞综合视频在线观看| 亚洲伊人色欲综合网| 亚洲图片欧美视频| 日韩va欧美va亚洲va久久| 免费人成精品欧美精品| 日本免费新一区视频| 日本亚洲电影天堂| 久久精品国产免费| 国产福利一区在线| 成人一区二区三区视频在线观看| 成人精品电影在线观看| 91在线视频在线| 91福利社在线观看| 日韩一区二区免费在线观看| 精品国产91久久久久久久妲己| 亚洲精品在线观| 亚洲欧洲日韩在线| 洋洋成人永久网站入口| 日韩激情视频网站| 国产成人在线免费观看| 91同城在线观看| 欧美视频一区二区三区四区| 日韩欧美中文一区| 欧美激情在线看| 亚洲成人先锋电影| 国内精品国产成人| 91啦中文在线观看| 日韩美女一区二区三区四区| 中文字幕乱码一区二区免费| 亚洲一区在线观看免费观看电影高清| 日日夜夜免费精品| 国产99久久久久| 欧美日韩中文国产| 国产视频一区不卡| 亚洲韩国精品一区| 大桥未久av一区二区三区中文| 在线观看一区二区视频| 欧美成人一区二区| 一区二区三区在线视频观看| 麻豆一区二区99久久久久| 99精品国产热久久91蜜凸| 91精品国产麻豆| 最好看的中文字幕久久| 男女性色大片免费观看一区二区 | 亚洲欧美日韩国产一区二区三区| 亚洲第一狼人社区| 国产99久久久精品| 日韩免费视频一区二区| 国产精品电影院| 精品一二三四在线| 在线精品视频一区二区三四| 亚洲国产精品99久久久久久久久| 视频一区二区国产| 色综合天天综合| 国产午夜亚洲精品不卡| 午夜精品一区二区三区电影天堂 | 国产麻豆精品一区二区| 欧美做爰猛烈大尺度电影无法无天| 久久久久国产精品人| 亚洲成人精品影院| 99久久国产综合精品女不卡| 2023国产精品自拍| 日本亚洲三级在线| 欧美日韩美少妇| 亚洲激情自拍偷拍| 99精品视频在线观看| 久久免费视频一区| 韩国女主播成人在线| 日韩一区二区三区免费看| 亚洲一区二区三区视频在线| 99精品久久免费看蜜臀剧情介绍| 久久这里只精品最新地址| 男人操女人的视频在线观看欧美| 欧美日韩性生活| 亚洲在线视频一区| 在线观看免费一区| 亚洲美女视频在线观看| 一本大道综合伊人精品热热| 亚洲欧洲中文日韩久久av乱码|