vpmulderpicker.h
来自「本站以C语言和Java语言、嵌入式开发、算法实现为主」· C头文件 代码 · 共 88 行
H
88 行
// vpMulderPicker.h: interface for the vpMulderPicker class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_VPMULDERPICKER_H__DC059560_F2A0_4710_9C7C_6B2255046C08__INCLUDED_)
#define AFX_VPMULDERPICKER_H__DC059560_F2A0_4710_9C7C_6B2255046C08__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "vpPositionable.h"
#include "vpSearchPath.h"
#include "vpKernel.h"
#include "vuMath.h"
#include <vuImage.h>
#include <vuImageFactory.h>
#include <GL/gl.h>
#include <time.h>
#include <vsgu.h>
#include <vp.h>
#include <vpApp.h>
#include <vuAllocTracer.h>
#include <vpIsectorLOS.h>
#include <vsDof.h>
#include <vsLod.h>
#include <vrLight.h>
#include <vrMode.h>
#include <vpInput.h>
#include <vpMotionUfo.h>
#include <vpInputMouse.h>
#include <vsTraversalUser.h>
#include <vsGeometry.h>
#include <vpInputKeyboard.h>
#include <vrRenderStrategy.h>
class vpMulderPicker
{
private:
vuField<vpIsectorLOS*> m_isector;
vrRenderStrategyBounds *m_boundsStrategy;
bool enabled;
vsNode *selectedNode;
private:
vsNode * getParent(vsNode *child, vuClassType *classType);
vsNode * getParent(vsNode *child);
vsNode *pick(vpChannel *channel, float mx, float my);
void setRenderStrategy(vsNode *root, vrRenderStrategy *strategy);
vsTraversal::Result travFuncGeometry(vsNode *node, vrRenderStrategy *strategy);
public:
enum PickerTargetModeType {
MODE_OBJECT,
MODE_GEOMETRY,
MODE_DOF,
MODE_LOD,
MODE_NAMEDPART
}modeType;
public:
bool performPickProcessing(vpChannel *chan);
void setEnable(bool e);
void setName(char *e);
void setTarget(const vsNode *e);
void setIsectMask(unsigned long e);
void setRenderEnable(bool e);
void setTargetMode(PickerTargetModeType e);
void setHighlightColor(float r, float g, float b, float a );
void setRenderGeometryEnable(bool e);
void setWireframeEnable(bool e);
void setLineWidth(float e);
vpMulderPicker();
virtual ~vpMulderPicker();
vsNode* getSelectNode();
vuVec3<double> * get3DPos();
};
#endif // !defined(AFX_VPMULDERPICKER_H__DC059560_F2A0_4710_9C7C_6B2255046C08__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?