Go to the documentation of this file. 1 #ifndef COIN_SOSELECTION_H
2 #define COIN_SOSELECTION_H
36 #include <Inventor/nodes/SoSubNode.h>
37 #include <Inventor/nodes/SoSeparator.h>
38 #include <Inventor/fields/SoSFEnum.h>
39 #include <Inventor/lists/SoPathList.h>
46 typedef void SoSelectionPathCB(
void * data,
SoPath * path);
47 typedef void SoSelectionClassCB(
void * data,
SoSelection * sel);
56 static void initClass(
void);
67 void select(
const SoPath * path);
69 void deselect(
const SoPath * path);
70 void deselect(
const int which);
71 void deselect(
SoNode * node);
72 void toggle(
const SoPath * path);
73 void toggle(
SoNode * node);
74 SbBool isSelected(
const SoPath * path)
const;
75 SbBool isSelected(
SoNode * node)
const;
76 void deselectAll(
void);
77 int getNumSelected(
void)
const;
79 SoPath * getPath(
const int index)
const;
80 SoPath * operator[](
const int i)
const;
81 void addSelectionCallback(SoSelectionPathCB * f,
void * userData = NULL);
82 void removeSelectionCallback(SoSelectionPathCB * f,
void * userData = NULL);
83 void addDeselectionCallback(SoSelectionPathCB * f,
void * userData = NULL);
84 void removeDeselectionCallback(SoSelectionPathCB * f,
85 void * userData = NULL);
86 void addStartCallback(SoSelectionClassCB * f,
void * userData = NULL);
87 void removeStartCallback(SoSelectionClassCB * f,
void * userData = NULL);
88 void addFinishCallback(SoSelectionClassCB * f,
void * userData = NULL);
89 void removeFinishCallback(SoSelectionClassCB * f,
void * userData = NULL);
91 const SbBool callOnlyIfSelectable = TRUE);
92 void setPickMatching(
const SbBool pickMatching);
93 SbBool isPickMatching(
void)
const;
94 SbBool getPickMatching(
void)
const;
95 void addChangeCallback(SoSelectionClassCB * f,
void * userData = NULL);
96 void removeChangeCallback(SoSelectionClassCB * f,
void * userData = NULL);
101 void invokeSelectionPolicy(
SoPath *path, SbBool shiftDown);
102 void performSingleSelection(
SoPath *path);
103 void performToggleSelection(
SoPath *path);
105 void addPath(
SoPath *path);
106 void removePath(
const int which);
107 int findPath(
const SoPath *path)
const;
133 SbBool &ignorepick, SbBool &haltaction);
136 #endif // !COIN_SOSELECTION_H
SbBool callPickCBOnlyIfSelectable
Definition: SoSelection.h:122
Definition: SoSelection.h:60
SoSelectionPickCB * pickCBFunc
Definition: SoSelection.h:120
SoCallbackList * finishCBList
Definition: SoSelection.h:118
SbBool pickMatching
Definition: SoSelection.h:127
SoPath * mouseDownPickPath
Definition: SoSelection.h:126
SoCallbackList * selCBList
Definition: SoSelection.h:115
Policy
Definition: SoSelection.h:59
The SoPathList class is a container for pointers to SoPath objects.
Definition: SoPathList.h:40
SoCallbackList * deselCBList
Definition: SoSelection.h:116
#define SO_NODE_HEADER(classname)
void * pickCBData
Definition: SoSelection.h:121
SoSFEnum policy
Definition: SoSelection.h:63
The SoCallbackList is a container for callback function pointers.
Definition: lists/SoCallbackList.h:44
SoCallbackList * changeCBList
Definition: SoSelection.h:124
The SoPath class is a container class for traversal path descriptions.
Definition: SoPath.h:52
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoSeparator.cpp:814
The SoSFEnum class is a container for an enum value.
Definition: SoSFEnum.h:40
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:45
SoCallbackList * startCBList
Definition: SoSelection.h:117
SoPath * SoSelectionPickCB(void *data, const SoPickedPoint *pick)
Definition: SoSelection.h:48
The SoPickedPoint class is used for specifying picked points.
Definition: SoPickedPoint.h:48
The SoSeparator class is a state-preserving group node.
Definition: SoSeparator.h:44
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:56
The SoHandleEventAction class distributes user events to the scene.
Definition: SoHandleEventAction.h:46
SoPathList selectionList
Definition: SoSelection.h:113
The SoSelection class manages a list of selected nodes.
Definition: SoSelection.h:50