![]() |
Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
The Coinboard class is a shape node which faces geometry towards the camera. More...
#include <Coinboard.h>
Inherits SoShape.
Public Types | |
enum | ShapeType { TRIANGLES, QUADS , TRIANGLE_FAN } |
![]() | |
enum | TriangleShape |
![]() | |
enum | NodeType |
Public Member Functions | |
Coinboard (void) | |
virtual void | GLRender (SoGLRenderAction *action) |
virtual void | getPrimitiveCount (SoGetPrimitiveCountAction *action) |
![]() | |
virtual SoType | getTypeId (void) const |
virtual SbBool | affectsState (void) const |
virtual void | notify (SoNotList *nl) |
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
virtual void | rayPick (SoRayPickAction *action) |
virtual void | callback (SoCallbackAction *action) |
const SoBoundingBoxCache * | getBoundingBoxCache (void) const |
![]() | |
void | setOverride (const SbBool state) |
SbBool | isOverride (void) const |
void | setNodeType (const NodeType type) |
NodeType | getNodeType (void) const |
virtual SoNode * | copy (SbBool copyconnections=FALSE) const |
virtual void | doAction (SoAction *action) |
virtual void | GLRenderBelowPath (SoGLRenderAction *action) |
virtual void | GLRenderInPath (SoGLRenderAction *action) |
virtual void | GLRenderOffPath (SoGLRenderAction *action) |
virtual void | getMatrix (SoGetMatrixAction *action) |
virtual void | handleEvent (SoHandleEventAction *action) |
virtual void | pick (SoPickAction *action) |
virtual void | search (SoSearchAction *action) |
virtual void | write (SoWriteAction *action) |
virtual void | audioRender (SoAudioRenderAction *action) |
virtual void | grabEventsSetup (void) |
virtual void | grabEventsCleanup (void) |
virtual void | startNotify (void) |
SbUniqueId | getNodeId (void) const |
virtual SoChildList * | getChildren (void) const |
virtual void | writeInstance (SoOutput *out) |
virtual SoNode * | addToCopyDict (void) const |
virtual void | copyContents (const SoFieldContainer *from, SbBool copyconnections) |
virtual SoFieldContainer * | copyThroughConnection (void) const |
![]() | |
void | setToDefaults (void) |
SbBool | hasDefaultValues (void) const |
SbBool | fieldsAreEqual (const SoFieldContainer *container) const |
void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) |
SbBool | set (const char *const fielddata) |
void | get (SbString &fielddata) |
virtual int | getFields (SoFieldList &l) const |
virtual int | getAllFields (SoFieldList &l) const |
virtual SoField * | getField (const SbName &name) const |
virtual SoField * | getEventIn (const SbName &name) const |
virtual SoField * | getEventOut (const SbName &name) const |
SbBool | getFieldName (const SoField *const field, SbName &name) const |
SbBool | enableNotify (const SbBool flag) |
SbBool | isNotifyEnabled (void) const |
SbBool | set (const char *fielddata, SoInput *input) |
void | get (SbString &fielddata, SoOutput *out) |
virtual SbBool | validateNewFieldValue (SoField *field, void *newval) |
virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) |
SbBool | getIsBuiltIn (void) const |
virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const |
void | setUserData (void *userdata) const |
void * | getUserData (void) const |
![]() | |
void | ref (void) const |
void | unref (void) const |
void | unrefNoDelete (void) const |
int32_t | getRefCount (void) const |
void | touch (void) |
SbBool | isOfType (SoType type) const |
virtual SbName | getName (void) const |
virtual void | setName (const SbName &newname) |
void | addAuditor (void *const auditor, const SoNotRec::Type type) |
void | removeAuditor (void *const auditor, const SoNotRec::Type type) |
const SoAuditorList & | getAuditors (void) const |
SbBool | shouldWrite (void) |
void | assertAlive (void) const |
Static Public Member Functions | |
static void | initClass (void) |
![]() | |
static void | getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize) |
static float | getDecimatedComplexity (SoState *state, float complexity) |
![]() | |
static uint32_t | getCompatibilityTypes (const SoType &nodetype) |
static SoNode * | getByName (const SbName &name) |
static int | getByName (const SbName &name, SoNodeList &l) |
static void | initClasses (void) |
static SbUniqueId | getNextNodeId (void) |
static int | getActionMethodIndex (const SoType type) |
static void | getBoundingBoxS (SoAction *action, SoNode *node) |
static void | GLRenderS (SoAction *action, SoNode *node) |
static void | callbackS (SoAction *action, SoNode *node) |
static void | getMatrixS (SoAction *action, SoNode *node) |
static void | handleEventS (SoAction *action, SoNode *node) |
static void | pickS (SoAction *action, SoNode *node) |
static void | rayPickS (SoAction *action, SoNode *node) |
static void | searchS (SoAction *action, SoNode *node) |
static void | writeS (SoAction *action, SoNode *node) |
static void | audioRenderS (SoAction *action, SoNode *node) |
static void | getPrimitiveCountS (SoAction *action, SoNode *node) |
![]() | |
static void | initCopyDict (void) |
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
static void | copyDone (void) |
![]() | |
static void | initClass (void) |
static SoType | getClassTypeId (void) |
static void | addName (SoBase *const base, const char *const name) |
static void | removeName (SoBase *const base, const char *const name) |
static void | incrementCurrentWriteCounter (void) |
static void | decrementCurrentWriteCounter (void) |
static SoBase * | getNamedBase (const SbName &name, SoType type) |
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
static void | setInstancePrefix (const SbString &c) |
static void | setTraceRefs (SbBool trace) |
static SbBool | getTraceRefs (void) |
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
static SbBool | readRoute (SoInput *input) |
Public Attributes | |
SoMFVec3f | position |
SoSFVec3f | axisOfRotation |
SoSFInt32 | frontAxis |
SoMFVec3f | coord |
SoMFVec4f | texCoord |
SoSFVec3f | normal |
SoSFEnum | shapeType |
SoMFInt32 | numVertices |
![]() | |
INVENTOR | |
VRML1 | |
VRML2 | |
INVENTOR_1 | |
INVENTOR_2_0 | |
INVENTOR_2_1 | |
INVENTOR_2_5 | |
INVENTOR_2_6 | |
COIN_1_0 | |
COIN_2_0 | |
EXTENSION | |
Protected Member Functions | |
virtual | ~Coinboard () |
virtual void | generatePrimitives (SoAction *action) |
virtual void | computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er) |
![]() | |
virtual const SoFieldData * | getFieldData (void) const |
SoShape (void) | |
virtual | ~SoShape () |
float | getComplexityValue (SoAction *action) |
virtual SbBool | shouldGLRender (SoGLRenderAction *action) |
void | beginSolidShape (SoGLRenderAction *action) |
void | endSolidShape (SoGLRenderAction *action) |
void | GLRenderBoundingBox (SoGLRenderAction *action) |
SbBool | shouldPrimitiveCount (SoGetPrimitiveCountAction *action) |
SbBool | shouldRayPick (SoRayPickAction *const action) |
void | computeObjectSpaceRay (SoRayPickAction *const action) |
void | computeObjectSpaceRay (SoRayPickAction *const action, const SbMatrix &matrix) |
virtual SoDetail * | createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp) |
virtual SoDetail * | createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp) |
virtual SoDetail * | createPointDetail (SoRayPickAction *action, const SoPrimitiveVertex *v, SoPickedPoint *pp) |
void | invokeTriangleCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2, const SoPrimitiveVertex *const v3) |
void | invokeLineSegmentCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2) |
void | invokePointCallbacks (SoAction *const action, const SoPrimitiveVertex *const v) |
void | beginShape (SoAction *const action, const TriangleShape shapetype, SoDetail *const detail=NULL) |
void | shapeVertex (const SoPrimitiveVertex *const v) |
void | endShape (void) |
void | generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const SbVec3f &normal) |
void | generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const float r, const SbVec3f &normal) |
SbBool | startVertexArray (SoGLRenderAction *action, const SoCoordinateElement *coords, const SbVec3f *pervertexnormals, const SbBool texpervertex, const SbBool colorpervertex) |
void | finishVertexArray (SoGLRenderAction *action, const SbBool vbo, const SbBool normpervertex, const SbBool texpervertex, const SbBool colorpervertex) |
![]() | |
SoNode (void) | |
virtual | ~SoNode () |
virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
![]() | |
SoFieldContainer (void) | |
virtual | ~SoFieldContainer () |
![]() | |
SoBase (void) | |
virtual | ~SoBase () |
virtual void | destroy (void) |
SbBool | hasMultipleWriteRefs (void) const |
SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const |
void | writeFooter (SoOutput *out) const |
virtual const char * | getFileFormatName (void) const |
Additional Inherited Members | |
![]() | |
enum | BaseFlags |
![]() | |
static const SoFieldData ** | getFieldDataPtr (void) |
static void | setNextActionMethodIndex (int index) |
static int | getNextActionMethodIndex (void) |
static void | incNextActionMethodIndex (void) |
static void | setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) |
![]() | |
static uint32_t | getCurrentWriteCounter (void) |
![]() | |
SbUniqueId | uniqueId |
![]() | |
SbBool | isBuiltIn |
![]() | |
static SbUniqueId | nextUniqueId |
static int | nextActionMethodIndex |
The Coinboard class is a shape node which faces geometry towards the camera.
If the position field contains more than one value, the shape is rendered several times with a translation as specified in position. This makes it possible to have multiple equal billboards at different positions. Very useful for rendering particles or a forest of trees etc.
When picking, each triangle in each billboard will have an SoFaceDetail. The face index will (for now) always be 0, while the part index will the position index used for the billboard.
enum Coinboard::ShapeType |
Coinboard::Coinboard | ( | void | ) |
Constructor.
|
protectedvirtual |
Destructor.
This is a Coin method. It calculates the bounding box of the fron facing shapes.
Implements SoShape.
|
protectedvirtual |
This is a Coin method. It should generate primitives, but is currently not implemented.
Implements SoShape.
|
virtual |
This is a Coin method. It should return the number of primitives, float maxval = coords[0][0]; but is currently not implemented.
Reimplemented from SoShape.
|
virtual |
This is a Coin method. It renders all shapes facing the camera.
Reimplemented from SoShape.
|
static |
Required Coin method.
SoSFVec3f Coinboard::axisOfRotation |
Use this to lock rotation around one axis. Default is [0,1,0]. Set to [0,0,0] to rotate freely.
SoMFVec3f Coinboard::coord |
The coordinates that will be sent to GL.
SoSFInt32 Coinboard::frontAxis |
The axis which should be directed towards the camera. This can be either 0 (positive x-axis), 1 (positive y-axis) or 2 (positive z-axis).
SoSFVec3f Coinboard::normal |
The normal per vertex. Will be used when you have as many normals as normal coordinates.
SoMFInt32 Coinboard::numVertices |
To draw several shapes per position, supply the number of vertices for each shape here. The default is one value with -1, which means all coordinates should be used for the one shape specified by the coords field.
SoMFVec3f Coinboard::position |
The positions where shapes should be replicated. Default is [0,0,0].
SoSFEnum Coinboard::shapeType |
Shape type. Default value is TRIANGLES.
SoMFVec4f Coinboard::texCoord |
The texture coordinates per vertex. Will be used when you have as many texture coordinates as normal coordinates.