00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SBPLANEPROJECTOR_H
00021
#define COIN_SBPLANEPROJECTOR_H
00022
00023
#include <Inventor/projectors/SbProjector.h>
00024
#include <Inventor/SbVec3f.h>
00025
#include <Inventor/SbPlane.h>
00026
00027
00028 class COIN_DLL_API SbPlaneProjector :
public SbProjector {
00029
typedef SbProjector inherited;
00030
00031
public:
00032 SbPlaneProjector(
const SbBool orient = FALSE);
00033 SbPlaneProjector(
const SbPlane & plane,
const SbBool orient = FALSE);
00034
virtual SbProjector *
copy(
void)
const;
00035
00036
virtual SbVec3f project(
const SbVec2f & point);
00037
void setPlane(
const SbPlane & plane);
00038
const SbPlane & getPlane(
void)
const;
00039
void setOrientToEye(
const SbBool orienttoeye);
00040 SbBool isOrientToEye(
void)
const;
00041
virtual SbVec3f getVector(
const SbVec2f & viewpos1,
00042
const SbVec2f & viewpos2);
00043
virtual SbVec3f getVector(
const SbVec2f & viewpos);
00044
void setStartPosition(
const SbVec2f & viewpos);
00045
void setStartPosition(
const SbVec3f & point);
00046
00047
protected:
00048
void setupPlane(
void);
00049
00050
protected:
00051
SbPlane plane, nonOrientPlane;
00052 SbBool orientToEye;
00053 SbBool needSetup;
00054
SbVec3f lastPoint;
00055 };
00056
00057
#endif // !COIN_SBPLANEPROJECTOR_H