SoVertexShape - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 3.1.3
Note : Coin

NAMESoVertexShape − The SoVertexShape class is the superclass for all vertex based shapes​.

SYNOPSIS
#include <Inventor/nodes/SoVertexShape​.h> Inherits SoShape​. Inherited by SoIndexedShape, and SoNonIndexedShape​.

Public Member Functionsvirtual SoType getTypeId (void) const
virtual void notify (SoNotList *nl)
virtual SbBool generateDefaultNormals (SoState *state, SoNormalBundle *bundle)
virtual SbBool generateDefaultNormals (SoState *state, SoNormalCache *cache)
virtual void write (SoWriteAction *action)

Static Public Member Functionsstatic SoType getClassTypeId (void)
static void initClass (void)

Public AttributesSoSFNode vertexProperty

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
SoVertexShape (void)
virtual ~SoVertexShape ()
virtual SbBool shouldGLRender (SoGLRenderAction *action)
void setNormalCache (SoState *const state, const int num, const SbVec3f *normals)
SoNormalCache * getNormalCache (void) const
SoNormalCache * generateAndReadLockNormalCache (SoState *const state)
void getVertexData (SoState *state, const SoCoordinateElement *&coords, const SbVec3f *&normals, const SbBool neednormals)
void readLockNormalCache (void)
void readUnlockNormalCache (void)

Static Protected Member Functionsstatic const SoFieldData ** getFieldDataPtr (void)

Additional Inherited Members

Detailed DescriptionThe SoVertexShape class is the superclass for all vertex based shapes​. Basically, every polygon-, line- or point-based shape will inherit this class​. It contains methods for organizing the normal cache, and also holds the SoVertexShape::vertexProperty field which can be used to set vertex data inside the node​.

Constructor & Destructor Documentation

SoVertexShape::SoVertexShape (void) [protected]Constructor​.

SoVertexShape::~SoVertexShape () [protected], [virtual]Destructor​.

Member Function Documentation

SoType SoVertexShape::getTypeId (void) const [virtual]Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​. Usage example: void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } }For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses​. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode​.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine​.h (for engine classes) and so on​. For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups​. Reimplemented from SoShape​. Reimplemented in SoTriangleStripSet, SoQuadMesh, SoPointSet, SoNonIndexedShape, SoMarkerSet, SoLineSet, SoIndexedTriangleStripSet, SoIndexedShape, SoIndexedPointSet, SoIndexedMarkerSet, SoIndexedLineSet, SoIndexedFaceSet, and SoFaceSet​.

const SoFieldData * SoVertexShape::getFieldData (void) const [protected], [virtual]Returns a pointer to the class-wide field data storage object for this instance​. If no fields are present, returns NULL​. Reimplemented from SoShape​. Reimplemented in SoTriangleStripSet, SoQuadMesh, SoPointSet, SoNonIndexedShape, SoMarkerSet, SoLineSet, SoIndexedTriangleStripSet, SoIndexedShape, SoIndexedPointSet, SoIndexedMarkerSet, SoIndexedLineSet, SoIndexedFaceSet, and SoFaceSet​.

void SoVertexShape::notify (SoNotList * l) [virtual]Notifies all auditors for this instance when changes are made​. Reimplemented from SoShape​. Reimplemented in SoIndexedPointSet, SoIndexedMarkerSet, and SoIndexedLineSet​.

SbBool SoVertexShape::generateDefaultNormals (SoState * state, SoNormalBundle * bundle) [virtual]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


 Subclasses should override this method to generate default normals using the
SoNormalBundle class​. TRUE should be returned if normals were generated, FALSE otherwise​. Default method returns FALSE​. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2​.1 API​.
Reimplemented in SoTriangleStripSet, SoQuadMesh, SoIndexedTriangleStripSet, SoFaceSet, SoPointSet, SoIndexedPointSet, and SoIndexedFaceSet​.

SbBool SoVertexShape::generateDefaultNormals (SoState * state, SoNormalCache * cache) [virtual]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


 Subclasses should override this method to generate default normals using the
SoNormalCache class​. This is more effective than using SoNormalGenerator​. Return TRUE if normals were generated, FALSE otherwise​. Default method just returns FALSE​. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2​.1 API​.
Reimplemented in SoIndexedTriangleStripSet, SoIndexedFaceSet, SoPointSet, SoIndexedPointSet, SoTriangleStripSet, SoQuadMesh, and SoFaceSet​.

void SoVertexShape::write (SoWriteAction * action) [virtual]Action method for SoWriteAction​. Writes out a node object, and any connected nodes, engines etc, if necessary​. Reimplemented from SoNode​.

SbBool SoVertexShape::shouldGLRender (SoGLRenderAction * action) [protected], [virtual]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.

Reimplemented from SoShape​.

void SoVertexShape::setNormalCache (SoState *const state, const int num, const SbVec3f * normals) [protected]Sets normal cache to contain the normals specified by normals and num, and forces cache dependencies on coordinates, shape hints and crease angle​.

SoNormalCache * SoVertexShape::getNormalCache (void) const [protected]Returns the current normal cache, or NULL if there is none​.

SoNormalCache * SoVertexShape::generateAndReadLockNormalCache (SoState *const state) [protected]Convenience method that can be used by subclasses to return or create a normal cache​. If the current cache is not valid, it takes care of unrefing the old cache and pushing and popping the state to create element dependencies when creating the new cache​. When returning from this method, the normal cache will be read locked, and the caller should call readUnlockNormalCache() when the normals in the cache is no longer needed​. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2​.1 API​.
Since Coin 2​.0

void SoVertexShape::getVertexData (SoState * state, const SoCoordinateElement *& coords, const SbVec3f *& normals, const SbBool neednormals) [protected]Convenience method that returns the current coordinate and normal element​. This method is not part of the OIV API​.

void SoVertexShape::readLockNormalCache (void) [protected]Read lock the normal cache​. This method should be called before fetching the normal cache (using getNormalCache())​. When the cached normals are no longer needed, readUnlockNormalCache() must be called​. It is also possible to use generateAndReadLockNormalCache()​. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2​.1 API​.
See also readUnlockNormalCache() Since Coin 2​.0

void SoVertexShape::readUnlockNormalCache (void) [protected]Read unlock the normal cache​. Should be called when the read-locked cached normals are no longer needed​. See also readLockNormalCache() Since Coin 2​.0

Member Data Documentation

SoSFNode SoVertexShape::vertexPropertyIf you set the vertexProperty field, it should be with an SoVertexProperty node​. Otherwise it will simply be ignored​. Nodetypes inheriting SoVertexShape will then get their coordinate data from the vertexProperty node instead of from the global traversal state​. The vertexProperty field of SoVertexShape-derived nodes breaks somewhat with the basic design of Open Inventor, as its contents are not passed to the global state​. This is done to provide a simple path to highly optimized rendering of vertexbased shapes​. See also SoVertexProperty Since Coin 1​.0 SGI Inventor v2​.1

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   42,619 byte
man-SoVertexShape.3coin3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   3 / 181,114
Visitor ID   :     :  
Visitor IP   :   18.216.167.229   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.