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>
37typedef void SoSelectionPathCB(
void * data,
SoPath * path);
38typedef void SoSelectionClassCB(
void * data,
SoSelection * sel);
47 static void initClass(
void);
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);
The SoCallbackList is a container for callback function pointers.
Definition SoCallbackList.h:35
The SoHandleEventAction class distributes user events to the scene.
Definition SoHandleEventAction.h:37
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:47
The SoPathList class is a container for pointers to SoPath objects.
Definition SoPathList.h:31
The SoPath class is a container class for traversal path descriptions.
Definition SoPath.h:43
The SoPickedPoint class is used for specifying picked points.
Definition SoPickedPoint.h:39
The SoSFEnum class is a container for an enum value.
Definition SoSFEnum.h:31
The SoSelection class manages a list of selected nodes.
Definition SoSelection.h:41
SbBool pickMatching
Definition SoSelection.h:118
SoCallbackList * selCBList
Definition SoSelection.h:106
SoCallbackList * finishCBList
Definition SoSelection.h:109
SoPathList selectionList
Definition SoSelection.h:104
SoPath * mouseDownPickPath
Definition SoSelection.h:117
SoCallbackList * startCBList
Definition SoSelection.h:108
SbBool callPickCBOnlyIfSelectable
Definition SoSelection.h:113
SoCallbackList * changeCBList
Definition SoSelection.h:115
SoSFEnum policy
Definition SoSelection.h:54
void * pickCBData
Definition SoSelection.h:112
SoSelectionPickCB * pickCBFunc
Definition SoSelection.h:111
Policy
Definition SoSelection.h:50
@ SINGLE
Definition SoSelection.h:51
SoCallbackList * deselCBList
Definition SoSelection.h:107
The SoSeparator class is a state-preserving group node.
Definition SoSeparator.h:35
virtual void handleEvent(SoHandleEventAction *action)
Definition SoSeparator.cpp:804
#define SO_NODE_HEADER(classname)
Definition macros.dox:43