00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SOLINEHIGHLIGHTRENDERACTION_H
00021
#define COIN_SOLINEHIGHLIGHTRENDERACTION_H
00022
00023
#include <Inventor/actions/SoGLRenderAction.h>
00024
#include <Inventor/SbColor.h>
00025
00026
00027 class COIN_DLL_API SoLineHighlightRenderAction :
public SoGLRenderAction {
00028
typedef SoGLRenderAction inherited;
00029
00030 SO_ACTION_HEADER(SoLineHighlightRenderAction);
00031
00032
public:
00033 SoLineHighlightRenderAction(
void);
00034 SoLineHighlightRenderAction(
const SbViewportRegion & viewportregion);
00035
virtual ~SoLineHighlightRenderAction();
00036
00037
static void initClass(
void);
00038
00039
virtual void apply(
SoNode * node);
00040
virtual void apply(
SoPath * path);
00041
virtual void apply(
const SoPathList & pathlist, SbBool obeysrules = FALSE);
00042
void setVisible(
const SbBool visible);
00043 SbBool isVisible(
void)
const;
00044
void setColor(
const SbColor & color);
00045
const SbColor & getColor(
void);
00046
void setLinePattern(
unsigned short pattern);
00047
unsigned short getLinePattern(
void)
const;
00048
void setLineWidth(
const float width);
00049
float getLineWidth(
void)
const;
00050
00051
protected:
00052
00053 SbBool hlVisible;
00054
00055
00056
00057
00058
00059
00060
00061
private:
00062
class SoSearchAction * searchaction;
00063
void init(
void);
00064
void drawBoxes(
SoPath * pathtothis,
const SoPathList * pathlist);
00065
SbColor color;
00066
unsigned short linepattern;
00067
float linewidth;
00068 SoTempPath * postprocpath;
00069 };
00070
00071
#endif // !COIN_SOLINEHIGHLIGHTRENDERACTION_H