1 #ifndef COIN_SOEXTSELECTION_H
2 #define COIN_SOEXTSELECTION_H
36 #include <Inventor/nodes/SoSubNode.h>
38 #include <Inventor/fields/SoSFEnum.h>
43 #endif // !COIN_INTERNAL
55 class SoExtSelectionP;
58 typedef SbBool SoExtSelectionTriangleCB(
void * userdata,
64 typedef SbBool SoExtSelectionLineSegmentCB(
void * userdata,
69 typedef SbBool SoExtSelectionPointCB(
void * userdata,
73 typedef SoPath * SoLassoSelectionFilterCB(
void * userdata,
const SoPath * path);
86 NOLASSO, LASSO, RECTANGLE
102 void useOverlay(SbBool overlay = TRUE);
103 SbBool isUsingOverlay(
void);
105 void setOverlayLassoColorIndex(
const int index);
106 int getOverlayLassoColorIndex(
void);
107 void setLassoColor(
const SbColor & color);
108 const SbColor & getLassoColor(
void);
109 void setLassoWidth(
const float width);
110 float getLassoWidth(
void);
111 void setOverlayLassoPattern(
const unsigned short pattern);
112 unsigned short getOverlayLassoPattern(
void);
113 void animateOverlayLasso(
const SbBool animate = TRUE);
114 SbBool isOverlayLassoAnimated(
void);
123 const SbVec2s * getLassoCoordsDC(
int & numCoords);
124 const SbVec3f * getLassoCoordsWC(
int & numCoords);
125 const SoPathList & getSelectionPathList()
const;
127 void setLassoFilterCallback(SoLassoSelectionFilterCB * f,
void * userdata = NULL,
128 const SbBool callonlyifselectable = TRUE);
130 void setTriangleFilterCallback(SoExtSelectionTriangleCB * func,
131 void * userdata = NULL);
132 void setLineSegmentFilterCallback(SoExtSelectionLineSegmentCB * func,
133 void * userdata = NULL);
134 void setPointFilterCallback(SoExtSelectionPointCB * func,
135 void * userdata = NULL);
136 SbBool wasShiftDown(
void)
const;
144 friend class SoExtSelectionP;
145 class SoExtSelectionP * pimpl;
148 #endif // !COIN_SOEXTSELECTION_H