1 #ifndef COIN_SOSELECTION_H
2 #define COIN_SOSELECTION_H
27 #include <Inventor/nodes/SoSubNode.h>
28 #include <Inventor/nodes/SoSeparator.h>
29 #include <Inventor/fields/SoSFEnum.h>
30 #include <Inventor/lists/SoPathList.h>
37 typedef void SoSelectionPathCB(
void * data,
SoPath * path);
38 typedef void SoSelectionClassCB(
void * data,
SoSelection * sel);
58 void select(
const SoPath * path);
60 void deselect(
const SoPath * path);
61 void deselect(
const int which);
62 void deselect(
SoNode * node);
63 void toggle(
const SoPath * path);
64 void toggle(
SoNode * node);
65 SbBool isSelected(
const SoPath * path)
const;
66 SbBool isSelected(
SoNode * node)
const;
67 void deselectAll(
void);
68 int getNumSelected(
void)
const;
70 SoPath * getPath(
const int index)
const;
71 SoPath * operator[](
const int i)
const;
72 void addSelectionCallback(SoSelectionPathCB * f,
void * userData = NULL);
73 void removeSelectionCallback(SoSelectionPathCB * f,
void * userData = NULL);
74 void addDeselectionCallback(SoSelectionPathCB * f,
void * userData = NULL);
75 void removeDeselectionCallback(SoSelectionPathCB * f,
76 void * userData = NULL);
77 void addStartCallback(SoSelectionClassCB * f,
void * userData = NULL);
78 void removeStartCallback(SoSelectionClassCB * f,
void * userData = NULL);
79 void addFinishCallback(SoSelectionClassCB * f,
void * userData = NULL);
80 void removeFinishCallback(SoSelectionClassCB * f,
void * userData = NULL);
81 void setPickFilterCallback(SoSelectionPickCB * f,
void * userData = NULL,
82 const SbBool callOnlyIfSelectable = TRUE);
83 void setPickMatching(
const SbBool pickMatching);
84 SbBool isPickMatching(
void)
const;
85 SbBool getPickMatching(
void)
const;
86 void addChangeCallback(SoSelectionClassCB * f,
void * userData = NULL);
87 void removeChangeCallback(SoSelectionClassCB * f,
void * userData = NULL);
92 void invokeSelectionPolicy(
SoPath *path, SbBool shiftDown);
93 void performSingleSelection(
SoPath *path);
94 void performToggleSelection(
SoPath *path);
96 void addPath(
SoPath *path);
97 void removePath(
const int which);
98 int findPath(
const SoPath *path)
const;
124 SbBool &ignorepick, SbBool &haltaction);
127 #endif // !COIN_SOSELECTION_H