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