00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SOSPOTLIGHTMANIP_H
00021
#define COIN_SOSPOTLIGHTMANIP_H
00022
00023
#include <Inventor/nodes/SoSpotLight.h>
00024
#ifndef COIN_INTERNAL
00025
#include <Inventor/draggers/SoDragger.h>
00026
#endif
00027
00028
class SoChildList;
00029
class SoDragger;
00030
class SoFieldSensor;
00031
class SoPath;
00032
class SoSensor;
00033
00034
00035 class COIN_DLL_API SoSpotLightManip :
public SoSpotLight {
00036
typedef SoSpotLight inherited;
00037
00038 SO_NODE_HEADER(SoSpotLightManip);
00039
00040
public:
00041
static void initClass(
void);
00042 SoSpotLightManip(
void);
00043
00044
SoDragger * getDragger(
void);
00045 SbBool replaceNode(
SoPath * p);
00046 SbBool replaceManip(
SoPath * p,
SoSpotLight * newone)
const;
00047
00048
virtual void doAction(
SoAction * action);
00049
virtual void callback(
SoCallbackAction * action);
00050
virtual void GLRender(
SoGLRenderAction * action);
00051
virtual void getBoundingBox(
SoGetBoundingBoxAction * action);
00052
virtual void getMatrix(
SoGetMatrixAction * action);
00053
virtual void handleEvent(
SoHandleEventAction * action);
00054
virtual void pick(
SoPickAction * action);
00055
virtual void search(
SoSearchAction * action);
00056
00057
virtual SoChildList *
getChildren(
void)
const;
00058
00059
protected:
00060 ~SoSpotLightManip();
00061
00062
void setDragger(
SoDragger * newdragger);
00063
00064
virtual void copyContents(
const SoFieldContainer * fromfc,
00065 SbBool copyconnections);
00066
00067
static void transferFieldValues(
const SoSpotLight * from,
SoSpotLight * to);
00068
static void valueChangedCB(
void * f,
SoDragger * d);
00069
static void fieldSensorCB(
void * f,
SoSensor * d);
00070
00071
SoFieldSensor * locationFieldSensor;
00072
SoFieldSensor * directionFieldSensor;
00073
SoFieldSensor * angleFieldSensor;
00074
SoFieldSensor * colorFieldSensor;
00075
SoChildList * children;
00076
00077
private:
00078
void attachSensors(
const SbBool onoff);
00079 };
00080
00081
#endif // !COIN_SOSPOTLIGHTMANIP_H