1 #ifndef COIN_SOEXTSELECTION_H
2 #define COIN_SOEXTSELECTION_H
27 #include <Inventor/nodes/SoSubNode.h>
28 #include <Inventor/nodes/SoSelection.h>
29 #include <Inventor/fields/SoSFEnum.h>
33 #include <Inventor/actions/SoCallbackAction.h>
34 #endif // !COIN_INTERNAL
46 class SoExtSelectionP;
49 typedef SbBool SoExtSelectionTriangleCB(
void * userdata,
55 typedef SbBool SoExtSelectionLineSegmentCB(
void * userdata,
60 typedef SbBool SoExtSelectionPointCB(
void * userdata,
64 typedef SoPath * SoLassoSelectionFilterCB(
void * userdata,
const SoPath * path);
77 NOLASSO, LASSO, RECTANGLE
93 void useOverlay(SbBool overlay = TRUE);
94 SbBool isUsingOverlay(
void);
96 void setOverlayLassoColorIndex(
const int index);
97 int getOverlayLassoColorIndex(
void);
98 void setLassoColor(
const SbColor & color);
99 const SbColor & getLassoColor(
void);
100 void setLassoWidth(
const float width);
101 float getLassoWidth(
void);
102 void setOverlayLassoPattern(
const unsigned short pattern);
103 unsigned short getOverlayLassoPattern(
void);
104 void animateOverlayLasso(
const SbBool animate = TRUE);
105 SbBool isOverlayLassoAnimated(
void);
114 const SbVec2s * getLassoCoordsDC(
int & numCoords);
115 const SbVec3f * getLassoCoordsWC(
int & numCoords);
116 const SoPathList & getSelectionPathList()
const;
118 void setLassoFilterCallback(SoLassoSelectionFilterCB * f,
void * userdata = NULL,
119 const SbBool callonlyifselectable = TRUE);
121 void setTriangleFilterCallback(SoExtSelectionTriangleCB * func,
122 void * userdata = NULL);
123 void setLineSegmentFilterCallback(SoExtSelectionLineSegmentCB * func,
124 void * userdata = NULL);
125 void setPointFilterCallback(SoExtSelectionPointCB * func,
126 void * userdata = NULL);
127 SbBool wasShiftDown(
void)
const;
135 friend class SoExtSelectionP;
136 class SoExtSelectionP * pimpl;
139 #endif // !COIN_SOEXTSELECTION_H