.TH "SoRayPickAction" 3 "Tue Dec 26 2023 17:59:22" "Version 4.0.2" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoRayPickAction \- The \fBSoRayPickAction\fP class does ray intersection with scene graphs\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoPickAction\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fBSoType\fP \fBgetTypeId\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoRayPickAction\fP (\fBconst\fP \fBSbViewportRegion\fP &viewportregion)" .br .ti -1c .RI "\fBvirtual\fP \fB~SoRayPickAction\fP ()" .br .ti -1c .RI "\fBvoid\fP \fBsetPoint\fP (\fBconst\fP \fBSbVec2s\fP &\fBviewportPoint\fP)" .br .ti -1c .RI "\fBvoid\fP \fBsetNormalizedPoint\fP (\fBconst\fP \fBSbVec2f\fP &\fBnormpoint\fP)" .br .ti -1c .RI "\fBvoid\fP \fBsetRadius\fP (\fBconst\fP float radiusinpixels)" .br .ti -1c .RI "float \fBgetRadius\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetRay\fP (\fBconst\fP \fBSbVec3f\fP &start, \fBconst\fP \fBSbVec3f\fP &direction, float \fBneardistance\fP=\-1\&.0, float \fBfardistance\fP=\-1\&.0)" .br .ti -1c .RI "\fBvoid\fP \fBsetPickAll\fP (\fBconst\fP SbBool \fBflag\fP)" .br .ti -1c .RI "SbBool \fBisPickAll\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBconst\fP \fBSoPickedPointList\fP & \fBgetPickedPointList\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoPickedPoint\fP * \fBgetPickedPoint\fP (\fBconst\fP int index=0) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBcomputeWorldSpaceRay\fP (\fBvoid\fP)" .br .ti -1c .RI "SbBool \fBhasWorldSpaceRay\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetObjectSpace\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBsetObjectSpace\fP (\fBconst\fP \fBSbMatrix\fP &matrix)" .br .ti -1c .RI "SbBool \fBintersect\fP (\fBconst\fP \fBSbVec3f\fP &\fBv0\fP, \fBconst\fP \fBSbVec3f\fP &\fBv1\fP, \fBconst\fP \fBSbVec3f\fP &\fBv2\fP, \fBSbVec3f\fP &\fBintersection\fP, \fBSbVec3f\fP &\fBbarycentric\fP, SbBool &\fBfront\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBintersect\fP (\fBconst\fP \fBSbVec3f\fP &\fBv0\fP, \fBconst\fP \fBSbVec3f\fP &\fBv1\fP, \fBSbVec3f\fP &\fBintersection\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBintersect\fP (\fBconst\fP \fBSbVec3f\fP &point) \fBconst\fP" .br .ti -1c .RI "SbBool \fBintersect\fP (\fBconst\fP \fBSbBox3f\fP &\fBbox\fP, \fBconst\fP SbBool \fBusefullviewvolume\fP=TRUE)" .br .ti -1c .RI "SbBool \fBintersect\fP (\fBconst\fP \fBSbBox3f\fP &\fBbox\fP, \fBSbVec3f\fP &\fBintersection\fP, \fBconst\fP SbBool \fBusefullviewvolume\fP=TRUE)" .br .ti -1c .RI "\fBconst\fP \fBSbViewVolume\fP & \fBgetViewVolume\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBconst\fP \fBSbLine\fP & \fBgetLine\fP (\fBvoid\fP)" .br .ti -1c .RI "SbBool \fBisBetweenPlanes\fP (\fBconst\fP \fBSbVec3f\fP &\fBintersection\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoPickedPoint\fP * \fBaddIntersection\fP (\fBconst\fP \fBSbVec3f\fP &\fBobjectspacepoint\fP, SbBool \fBfrontpick\fP=TRUE)" .br .ti -1c .RI "\fBvoid\fP \fBreset\fP (\fBvoid\fP)" .br .in -1c Public Member Functions inherited from \fBSoPickAction\fP .in +1c .ti -1c .RI "\fBvoid\fP \fBsetViewportRegion\fP (\fBconst\fP \fBSbViewportRegion\fP &\fBnewregion\fP)" .br .ti -1c .RI "\fBconst\fP \fBSbViewportRegion\fP & \fBgetViewportRegion\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBenableCulling\fP (\fBconst\fP SbBool \fBflag\fP)" .br .ti -1c .RI "SbBool \fBisCullingEnabled\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c Public Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "\fBvirtual\fP \fB~SoAction\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBisOfType\fP (\fBSoType\fP type) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBapply\fP (\fBSoNode\fP *root)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBapply\fP (\fBSoPath\fP *path)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBapply\fP (\fBconst\fP \fBSoPathList\fP &\fBpathlist\fP, SbBool \fBobeysrules\fP=FALSE)" .br .ti -1c .RI "\fBvoid\fP \fBapply\fP (\fBSoAction\fP *\fBbeingApplied\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBinvalidateState\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBAppliedCode\fP \fBgetWhatAppliedTo\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoNode\fP * \fBgetNodeAppliedTo\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoPath\fP * \fBgetPathAppliedTo\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBconst\fP \fBSoPathList\fP * \fBgetPathListAppliedTo\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBconst\fP \fBSoPathList\fP * \fBgetOriginalPathListAppliedTo\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBisLastPathListAppliedTo\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBPathCode\fP \fBgetPathCode\fP (int &\fBnumindices\fP, \fBconst\fP int *&indices)" .br .ti -1c .RI "\fBvoid\fP \fBtraverse\fP (\fBSoNode\fP *\fBconst\fP node)" .br .ti -1c .RI "SbBool \fBhasTerminated\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBconst\fP \fBSoPath\fP * \fBgetCurPath\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBSoState\fP * \fBgetState\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBPathCode\fP \fBgetCurPathCode\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBSoNode\fP * \fBgetCurPathTail\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBusePathCode\fP (int &\fBnumindices\fP, \fBconst\fP int *&indices)" .br .ti -1c .RI "\fBvoid\fP \fBpushCurPath\fP (\fBconst\fP int \fBchildindex\fP, \fBSoNode\fP *node=\fBNULL\fP)" .br .ti -1c .RI "\fBvoid\fP \fBpopCurPath\fP (\fBconst\fP \fBPathCode\fP \fBprevpathcode\fP)" .br .ti -1c .RI "\fBvoid\fP \fBpushCurPath\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBpopPushCurPath\fP (\fBconst\fP int \fBchildindex\fP, \fBSoNode\fP *node=\fBNULL\fP)" .br .ti -1c .RI "\fBvoid\fP \fBpopCurPath\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBswitchToPathTraversal\fP (\fBSoPath\fP *path)" .br .ti -1c .RI "\fBvoid\fP \fBswitchToNodeTraversal\fP (\fBSoNode\fP *node)" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBaddMethod\fP (\fBconst\fP \fBSoType\fP type, SoActionMethod method)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBenableElement\fP (\fBconst\fP \fBSoType\fP type, \fBconst\fP int \fBstackindex\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .in -1c Static Public Member Functions inherited from \fBSoPickAction\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBaddMethod\fP (\fBconst\fP \fBSoType\fP type, SoActionMethod method)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBenableElement\fP (\fBconst\fP \fBSoType\fP type, \fBconst\fP int \fBstackindex\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .in -1c Static Public Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClasses\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBnullAction\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fBconst\fP \fBSoEnabledElementsList\fP & \fBgetEnabledElements\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBbeginTraversal\fP (\fBSoNode\fP *node)" .br .in -1c Protected Member Functions inherited from \fBSoPickAction\fP .in +1c .ti -1c .RI "\fBSoPickAction\fP (\fBconst\fP \fBSbViewportRegion\fP &viewportregion)" .br .ti -1c .RI "\fBvirtual\fP \fB~SoPickAction\fP (\fBvoid\fP)" .br .in -1c Protected Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "\fBSoAction\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBendTraversal\fP (\fBSoNode\fP *node)" .br .ti -1c .RI "\fBvoid\fP \fBsetTerminated\fP (\fBconst\fP SbBool \fBflag\fP)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBshouldCompactPathList\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "\fBstatic\fP \fBSoEnabledElementsList\fP * \fBgetClassEnabledElements\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoActionMethodList\fP * \fBgetClassActionMethods\fP (\fBvoid\fP)" .br .in -1c Static Protected Member Functions inherited from \fBSoPickAction\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoEnabledElementsList\fP * \fBgetClassEnabledElements\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoActionMethodList\fP * \fBgetClassActionMethods\fP (\fBvoid\fP)" .br .in -1c Static Protected Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoEnabledElementsList\fP * \fBgetClassEnabledElements\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoActionMethodList\fP * \fBgetClassActionMethods\fP (\fBvoid\fP)" .br .in -1c .SS "Additional Inherited Members" Public Types inherited from \fBSoAction\fP .in +1c .ti -1c .RI "enum \fBAppliedCode\fP { \fBNODE\fP = 0, \fBPATH\fP = 1, \fBPATH_LIST\fP = 2 }" .br .ti -1c .RI "enum \fBPathCode\fP { \fBNO_PATH\fP = 0, \fBIN_PATH\fP = 1, \fBBELOW_PATH\fP = 2, \fBOFF_PATH\fP = 3 }" .br .in -1c Protected Attributes inherited from \fBSoPickAction\fP .in +1c .ti -1c .RI "\fBSbViewportRegion\fP \fBvpRegion\fP" .br .in -1c Protected Attributes inherited from \fBSoAction\fP .in +1c .ti -1c .RI "\fBSoState\fP * \fBstate\fP" .br .ti -1c .RI "\fBSoActionMethodList\fP * \fBtraversalMethods\fP" .br .in -1c .SH "Detailed Description" .PP The \fBSoRayPickAction\fP class does ray intersection with scene graphs\&. For interaction with the scene graph geometry, it is necessary to be able to do intersection testing for rays\&. This functionality is provided by the \fBSoRayPickAction\fP class\&. .PP \fBSoRayPickAction\fP can be used to pass arbitrary rays through the scene for intersection detections, by using the \fBsetRay()\fP method\&. .PP Because a very common operation is to check for intersections along the ray from the mouse cursor upon mouse clicks, it also contains convenience methods for setting up a ray from the near plane to the far plane from the 2D mouse cursor coordinates\&. See the \fBsetPoint()\fP and \fBsetNormalizedPoint()\fP methods\&. A simple usage example for this case is presented below\&. .PP Note that one common mistake when using a ray pick action to intersect from a point under the mouse cursor after a mouse click is that one tries to apply it to a scene graph that does not contain a camera \fIexplicitly\fP set up by the application programmer\&. Without a camera as part of the traversal, the ray pick action does not know which view volume to send the ray through\&. .PP In this regard, be aware that the getSceneGraph() call in the So*-libraries' viewer classes will return the root of the user-supplied scene graph, not the 'real' internal scene graph root used by the viewer (which should always contain a camera node)\&. So ray picks done from the application code will fail when doing this: .PP .PP .nf // initializing viewer scene graph SoSeparator * root = new SoSeparator; root\->ref(); SoEventCallback * ecb = new SoEventCallback; ecb\->addEventCallback(SoMouseButtonEvent::getClassTypeId(), event_cb, viewer); root\->addChild(ecb); root\->addChild(new SoCone); viewer\->setSceneGraph( root ); // \-\- [snip] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- // attempting ray pick in the event_cb() callback method SoRayPickAction rp( viewer\->getViewportRegion() ); rp\&.setPoint(mouseevent\->getPosition()); rp\&.apply(viewer\->getSceneGraph()); // BUG: results will not be what you expected, as no camera was // part of the "user's scene graph" .fi .PP .PP While this is the correct way to do it: .PP .PP .nf // initializing viewer scene graph SoSeparator * root = new SoSeparator; root\->ref(); // Need to set up our own camera in the "user scene graph", or else // the ray pick action will fail because the camera is hidden in the // viewer\-specific root of the scene graph\&. SoPerspectiveCamera * pcam = new SoPerspectiveCamera; root\->addChild(pcam); SoEventCallback * ecb = new SoEventCallback; ecb\->addEventCallback(SoMouseButtonEvent::getClassTypeId(), event_cb, viewer); root\->addChild(ecb); root\->addChild(new SoCone); viewer\->setSceneGraph( root ); pcam\->viewAll( root, viewer\->getViewportRegion() ); // \-\- [snip] \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- // attempting ray pick in the event_cb() callback method SoRayPickAction rp( viewer\->getViewportRegion() ); rp\&.setPoint(mouseevent\->getPosition()); rp\&.apply(viewer\->getSceneGraph()); .fi .PP .PP Or if you do want the convenience of having the viewer set up a camera for you implicitly, you can get hold of the root-node of the 'complete' scene graph by simply calling: .PP .PP .nf SoNode * realroot = viewer\->getSceneManager()\->getSceneGraph(); .fi .PP .SH "Constructor & Destructor Documentation" .PP .SS "SoRayPickAction::SoRayPickAction (\fBconst\fP \fBSbViewportRegion\fP & viewportregion)" Constructor\&. .PP Some node types need a \fIviewportregion\fP to know exactly how they are positioned within the scene\&. For an in-depth explanation of why the \fIviewportregion\fP argument is needed, see the documentation of SoGetBoundingBox::SoGetBoundingBox(const SbViewportRegion &)\&. .SS "SoRayPickAction::~SoRayPickAction (\fBvoid\fP)\fC [virtual]\fP" Destructor, free temporary resources used by action\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoRayPickAction::getTypeId (\fBvoid\fP) const\fC [virtual]\fP" Returns the type identification of an object derived from a class inheriting \fBSoAction\fP\&. This is used for runtime type checking and 'downward' casting\&. .br .PP Reimplemented from \fBSoPickAction\fP\&. .SS "\fBSoType\fP SoRayPickAction::getClassTypeId (\fBvoid\fP)\fC [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "\fBvoid\fP SoRayPickAction::addMethod (\fBconst\fP \fBSoType\fP type, SoActionMethod method)\fC [static]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBvoid\fP SoRayPickAction::enableElement (\fBconst\fP \fBSoType\fP type, \fBconst\fP int stackindex)\fC [static]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBconst\fP \fBSoEnabledElementsList\fP & SoRayPickAction::getEnabledElements (\fBvoid\fP) const\fC [protected]\fP, \fC [virtual]\fP" Returns list of enabled elements\&. .br .PP Reimplemented from \fBSoPickAction\fP\&. .SS "\fBSoEnabledElementsList\fP * SoRayPickAction::getClassEnabledElements (\fBvoid\fP)\fC [static]\fP, \fC [protected]\fP" Returns list of enabled elements for this class\&. The enabledElements and methods variables are protected in the original OIV API\&. This is not such a good idea, since exposed static class member variables is a major grievance with regard to Win32 DLLs\&. This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .br .SS "\fBSoActionMethodList\fP * SoRayPickAction::getClassActionMethods (\fBvoid\fP)\fC [static]\fP, \fC [protected]\fP" Returns list of action methods for this class\&. The enabledElements and methods variables are protected in the original OIV API\&. This is not such a good idea, since exposed static class member variables is a major grievance with regard to Win32 DLLs\&. This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .br .SS "\fBvoid\fP SoRayPickAction::initClass (\fBvoid\fP)\fC [static]\fP" Initializes the runtime type system for this class, and sets up the enabled elements and action method list\&. .SS "\fBvoid\fP SoRayPickAction::setPoint (\fBconst\fP \fBSbVec2s\fP & viewportpoint)" Sets the viewport-space point\&. This point is calculated into a line from the near clipping plane to the far clipping plane, and the intersection ray follows the line\&. .PP This is a convenient way to detect object intersection below the cursor\&. .SS "\fBvoid\fP SoRayPickAction::setNormalizedPoint (\fBconst\fP \fBSbVec2f\fP & normpoint)" Sets the viewport-space point which the ray is sent through\&. The coordinate is normalized, ranging from (0, 0) to (1, 1)\&. .PP \fBSee also\fP .RS 4 \fBsetPoint()\fP .RE .PP .SS "\fBvoid\fP SoRayPickAction::setRadius (\fBconst\fP float radiusinpixels)" Sets the radius of the picking ray, in screen pixels\&. Default value is \fB5\&.0\fP\&. .PP The radius of the intersection ray will only influence the pick operation's behavior versus lines and points, and has no effect on picking of shapes / polygons\&. .SS "float SoRayPickAction::getRadius (\fBvoid\fP) const" Gets the radius of the picking ray, in screen pixels\&. .SS "\fBvoid\fP SoRayPickAction::setRay (\fBconst\fP \fBSbVec3f\fP & start, \fBconst\fP \fBSbVec3f\fP & direction, float neardistance = \fC\-1\&.0\fP, float fardistance = \fC\-1\&.0\fP)" Sets the intersection ray in world space coordinates\&. .PP Use this method if you want to send any ray through the scene to detect intersections, independently of mouse cursor position upon clicks and scene graph camera settings\&. .SS "\fBvoid\fP SoRayPickAction::setPickAll (\fBconst\fP SbBool flag)" Lets you decide whether or not all the objects the ray intersects with should be picked\&. If not, only the intersection point of the object closest to the camera will be picked\&. .PP Default value of the 'pick all' flag is \fCFALSE\fP\&. .SS "SbBool SoRayPickAction::isPickAll (\fBvoid\fP) const" Returns whether only the closest object or all the objects the ray intersects with is picked\&. .PP \fBSee also\fP .RS 4 \fBsetPickAll()\fP .RE .PP .SS "\fBconst\fP \fBSoPickedPointList\fP & SoRayPickAction::getPickedPointList (\fBvoid\fP) const" Returns a list of the picked points\&. .SS "\fBSoPickedPoint\fP * SoRayPickAction::getPickedPoint (\fBconst\fP int index = \fC0\fP) const" Returns the picked point with \fIindex\fP in the list of picked points\&. .PP Returns \fCNULL\fP if less than \fIindex\fP + 1 points where picked during the last ray pick action\&. .SS "\fBvoid\fP SoRayPickAction::computeWorldSpaceRay (\fBvoid\fP)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "SbBool SoRayPickAction::hasWorldSpaceRay (\fBvoid\fP) const" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBvoid\fP SoRayPickAction::setObjectSpace (\fBvoid\fP)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBvoid\fP SoRayPickAction::setObjectSpace (\fBconst\fP \fBSbMatrix\fP & matrix)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "SbBool SoRayPickAction::intersect (\fBconst\fP \fBSbVec3f\fP & v0_in, \fBconst\fP \fBSbVec3f\fP & v1_in, \fBconst\fP \fBSbVec3f\fP & v2_in, \fBSbVec3f\fP & intersection, \fBSbVec3f\fP & barycentric, SbBool & front) const" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "SbBool SoRayPickAction::intersect (\fBconst\fP \fBSbVec3f\fP & v0_in, \fBconst\fP \fBSbVec3f\fP & v1_in, \fBSbVec3f\fP & intersection) const" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "SbBool SoRayPickAction::intersect (\fBconst\fP \fBSbVec3f\fP & point_in) const" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "SbBool SoRayPickAction::intersect (\fBconst\fP \fBSbBox3f\fP & box, \fBconst\fP SbBool usefullviewvolume = \fCTRUE\fP)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "SbBool SoRayPickAction::intersect (\fBconst\fP \fBSbBox3f\fP & box, \fBSbVec3f\fP & intersection, \fBconst\fP SbBool usefullviewvolume = \fCTRUE\fP)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBconst\fP \fBSbViewVolume\fP & SoRayPickAction::getViewVolume (\fBvoid\fP)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBconst\fP \fBSbLine\fP & SoRayPickAction::getLine (\fBvoid\fP)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "SbBool SoRayPickAction::isBetweenPlanes (\fBconst\fP \fBSbVec3f\fP & intersection_in) const" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBSoPickedPoint\fP * SoRayPickAction::addIntersection (\fBconst\fP \fBSbVec3f\fP & objectspacepoint_in, SbBool frontpick = \fCTRUE\fP)" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "\fBvoid\fP SoRayPickAction::reset (\fBvoid\fP)" Truncates the internal picked points list\&. .PP \fBSince\fP .RS 4 Coin \fB2\&.2\fP .RE .PP .SS "\fBvoid\fP SoRayPickAction::beginTraversal (\fBSoNode\fP * node)\fC [protected]\fP, \fC [virtual]\fP" This virtual method is called from \fBSoAction::apply()\fP, and is the entry point for the actual scene graph traversal\&. .PP It can be overridden to initialize the action at traversal start, for specific initializations in the action subclasses inheriting \fBSoAction\fP\&. .PP Default method just calls \fBtraverse()\fP, which any overridden implementation of the method must do too (or call \fBSoAction::beginTraversal()\fP) to trigger the scene graph traversal\&. .PP Reimplemented from \fBSoPickAction\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.