1 #ifndef COIN_SOINTERSECTIONDETECTIONACTION_H
2 #define COIN_SOINTERSECTIONDETECTIONACTION_H
27 #include <Inventor/actions/SoSubAction.h>
28 #include <Inventor/actions/SoAction.h>
29 #include <Inventor/actions/SoCallbackAction.h>
42 class SoIntersectionDetectionActionP;
59 typedef SbBool SoIntersectionFilterCB(
void * closure,
const SoPath * p1,
const SoPath * p2);
62 void setIntersectionDetectionEpsilon(
float epsilon);
63 float getIntersectionDetectionEpsilon(
void)
const;
65 static void setIntersectionEpsilon(
float epsilon);
66 static float getIntersectionEpsilon(
void);
68 void setTypeEnabled(
SoType type, SbBool enable);
69 SbBool isTypeEnabled(
SoType type, SbBool checkgroups = FALSE)
const;
71 void setManipsEnabled(SbBool enable);
72 SbBool isManipsEnabled(
void)
const;
74 void setDraggersEnabled(SbBool enable);
75 SbBool isDraggersEnabled(
void)
const;
77 void setShapeInternalsEnabled(SbBool enable);
78 SbBool isShapeInternalsEnabled(
void)
const;
80 void addVisitationCallback(
SoType type, SoIntersectionVisitationCB * cb,
void * closure);
81 void removeVisitationCallback(
SoType type, SoIntersectionVisitationCB * cb,
void * closure);
85 virtual void apply(
const SoPathList & paths, SbBool obeysRules = FALSE);
87 virtual void setFilterCallback(SoIntersectionFilterCB * cb,
void * closure = NULL);
88 virtual void addIntersectionCallback(SoIntersectionCB * cb,
void * closure = NULL);
89 virtual void removeIntersectionCallback(SoIntersectionCB * cb,
void * closure = NULL);
92 SoIntersectionDetectionActionP * pimpl;
95 #endif // !COIN_SOINTERSECTIONDETECTIONACTION_H
The SoIndexedLineSet class is used to render and otherwise represent indexed lines.
Definition: SoIndexedLineSet.h:34
Response
Definition: SoCallbackAction.h:85
const SbMatrix & getModelMatrix(void) const
Definition: SoCallbackAction.cpp:953
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er)=0
void setManipsEnabled(SbBool enable)
Definition: SoIntersectionDetectionAction.cpp:431
virtual void addIntersectionCallback(SoIntersectionCB *cb, void *closure=NULL)
Definition: SoIntersectionDetectionAction.cpp:597
virtual void apply(SoNode *root)
Definition: SoAction.cpp:476
static SbRotation identity(void)
Definition: SbRotation.cpp:674
SoNode * getTail(void) const
Definition: SoPath.cpp:373
The SoShape class is the superclass for geometry shapes.
Definition: SoShape.h:43
const SbVec3f & getPoint(void) const
Definition: SoPrimitiveVertex.cpp:91
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:37
const SoBoundingBoxCache * getBoundingBoxCache(void) const
Definition: SoShape.cpp:1537
SbVec3f getCenter(void) const
Definition: SbBox3f.cpp:161
The SoWriteAction class writes a scene graph to file.
Definition: SoWriteAction.h:31
virtual void closeFile(void)
Definition: SoOutput.cpp:426
The SoOutput class is an abstraction of an output stream.
Definition: SoOutput.h:42
int getTriangleCount(void) const
Definition: SoGetPrimitiveCountAction.cpp:89
void setTransform(const SbVec3f &t, const SbRotation &r, const SbVec3f &s)
Definition: SbMatrix.cpp:812
SoMFInt32 coordIndex
Definition: SoIndexedShape.h:42
The SoIntersectionDetectionAction class is for detecting intersecting primitives in a scene.
Definition: SoIntersectionDetectionAction.h:44
The SbPList class is a container class for void pointers.
Definition: SbPList.h:31
const SbVec3f & getMin(void) const
Definition: SbBox3f.cpp:122
SbXfBox3f & getXfBoundingBox(void)
Definition: SoGetBoundingBoxAction.cpp:317
SoMFColor rgb
Definition: SoBaseColor.h:41
The SbBox3f class is an abstraction for an axis aligned 3 dimensional box.
Definition: SbBox3f.h:37
const SoPath * getCurPath(void)
Definition: SoAction.cpp:1044
static void postWarning(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:324
The SoAction class is the base class for all traversal actions.
Definition: SoAction.h:67
SbBox3f project(void) const
Definition: SbXfBox3f.cpp:649
SoMFVec3f point
Definition: SoCoordinate3.h:39
void setScale(const float s)
Definition: SbMatrix.cpp:760
The SoText2 class is a node type for visualizing 2D text aligned with the camera plane.
Definition: SoText2.h:33
virtual SbBool openFile(const char *const fileName)
Definition: SoOutput.cpp:400
virtual void setFilterCallback(SoIntersectionFilterCB *cb, void *closure=NULL)
Definition: SoIntersectionDetectionAction.cpp:577
The SbXfBox3f class is a 3 dimensional box with floating point coordinates and an attached transforma...
Definition: SbXfBox3f.h:31
virtual void addChild(SoNode *node)
Definition: SoGroup.cpp:393
void setDraggersEnabled(SbBool enable)
Definition: SoIntersectionDetectionAction.cpp:466
void addTriangleCallback(const SoType type, SoTriangleCB *cb, void *userdata)
Definition: SoCallbackAction.cpp:515
The SoPathList class is a container for pointers to SoPath objects.
Definition: SoPathList.h:31
void setShapeInternalsEnabled(SbBool enable)
Definition: SoIntersectionDetectionAction.cpp:497
The SbString class is a string class with convenience functions for string operations.
Definition: SbString.h:42
float length(void) const
Definition: SbVec3f.cpp:356
SbBool isDerivedFrom(const SoType type) const
Definition: SoType.cpp:687
float getIntersectionDetectionEpsilon(void) const
Definition: SoIntersectionDetectionAction.cpp:363
void setTypeEnabled(SoType type, SbBool enable)
Definition: SoIntersectionDetectionAction.cpp:376
void unref(void) const
Definition: SoBase.cpp:627
The SoPath class is a container class for traversal path descriptions.
Definition: SoPath.h:43
The SoType class is the basis for the run-time type system in Coin.
Definition: SoType.h:50
static void postInfo(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:334
const SbVec3f & getMax(void) const
Definition: SbBox3f.cpp:134
SbBool isTypeEnabled(SoType type, SbBool checkgroups=0) const
Definition: SoIntersectionDetectionAction.cpp:401
int getLength(void) const
Definition: SbList.h:145
Struct with collision information.
Definition: SoIntersectionDetectionAction.h:31
SbBool isManipsEnabled(void) const
Definition: SoIntersectionDetectionAction.cpp:450
The SoPrimitiveVertex class represents a single vertex of a generated primitive.
Definition: SoPrimitiveVertex.h:33
The SoTypeList class is a container class for arrays of SoType objects.
Definition: SoTypeList.h:30
The SbColor class contains the red, green and blue components which make up a color value.
Definition: SbColor.h:30
SoState * getState(void) const
Definition: SoAction.cpp:1028
static float getIntersectionEpsilon(void)
Definition: SoIntersectionDetectionAction.cpp:338
void multDirMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1411
SoSFVec3f translation
Definition: SoTranslation.h:40
virtual void removeIntersectionCallback(SoIntersectionCB *cb, void *closure=NULL)
Definition: SoIntersectionDetectionAction.cpp:610
void ref(void) const
Definition: SoBase.cpp:574
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:37
The SoGetBoundingBoxAction class calculates bounding boxes for nodes and subgraphs.
Definition: SoGetBoundingBoxAction.h:34
virtual void apply(SoNode *node)
Definition: SoIntersectionDetectionAction.cpp:625
@ CONTINUE
Definition: SoCallbackAction.h:85
SbString & sprintf(const char *formatstr,...)
Definition: SbString.h:105
void removeVisitationCallback(SoType type, SoIntersectionVisitationCB *cb, void *closure)
Definition: SoIntersectionDetectionAction.cpp:542
The SoCallbackAction class invokes callbacks at specific nodes.
Definition: SoCallbackAction.h:70
void setIntersectionDetectionEpsilon(float epsilon)
Definition: SoIntersectionDetectionAction.cpp:351
The SbViewportRegion class is a viewport within a full window.
Definition: SbViewportRegion.h:31
virtual SoType getTypeId(void) const =0
const SbMatrix & getTransform(void) const
Definition: SbXfBox3f.cpp:135
void addVisitationCallback(SoType type, SoIntersectionVisitationCB *cb, void *closure)
Definition: SoIntersectionDetectionAction.cpp:526
SbBool isDraggersEnabled(void) const
Definition: SoIntersectionDetectionAction.cpp:482
static void initClass(void)
Definition: SoAction.cpp:392
The SoSeparator class is a state-preserving group node.
Definition: SoSeparator.h:34
The SoBaseColor class provides a node type for convenient setting of the base material color.
Definition: SoBaseColor.h:32
The SbTime class instances represents time values.
Definition: SbTime.h:41
void transform(const SbMatrix &matrix)
Definition: SbBox3f.cpp:524
SbBool isOfType(SoType type) const
Definition: SoBase.cpp:710
SbBool isShapeInternalsEnabled(void) const
Definition: SoIntersectionDetectionAction.cpp:512
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
The SoTranslation class is a node type for specifying geometry translations.
Definition: SoTranslation.h:31
@ PRUNE
Definition: SoCallbackAction.h:85
static SbTime getTimeOfDay(void)
Definition: SbTime.cpp:139
SbBool intersect(const SbVec3f &point) const
Definition: SbBox3f.cpp:224
SbBool intersect(const SbVec3f &pt) const
Definition: SbXfBox3f.cpp:435
const char * getString(void) const
Definition: SbString.h:71
static void setIntersectionEpsilon(float epsilon)
Definition: SoIntersectionDetectionAction.cpp:327
The SoGetPrimitiveCountAction class counts the primitives in a scene.
Definition: SoGetPrimitiveCountAction.h:32
The SoCoordinate3 class is a node for providing coordinates to shape nodes.
Definition: SoCoordinate3.h:30
void addPreCallback(const SoType type, SoCallbackActionCB *cb, void *userdata)
Definition: SoCallbackAction.cpp:466
virtual void setName(const SbName &newname)
Definition: SoBase.cpp:763
SoMFString string
Definition: SoText2.h:48
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Jul 27 2020 for Coin by Doxygen. 1.8.18