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