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

NAMESoIndexedNurbsCurve − The SoIndexedNurbsCurve class is a node for representing smooth curves​.

SYNOPSIS
#include <Inventor/nodes/SoIndexedNurbsCurve​.h> Inherits SoShape​.

Public Member Functionsvirtual SoType getTypeId (void) const
SoIndexedNurbsCurve (void)
virtual void GLRender (SoGLRenderAction *action)
virtual void rayPick (SoRayPickAction *action)
virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)
virtual void getBoundingBox (SoGetBoundingBoxAction *action)
void sendPrimitive (SoAction *, SoPrimitiveVertex *)

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

Public AttributesSoSFInt32 numControlPoints
SoMFInt32 coordIndex
SoMFFloat knotVector

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
virtual ~SoIndexedNurbsCurve ()
virtual void generatePrimitives (SoAction *action)
virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)
virtual SoDetail * createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp)

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

Friendsclass SoIndexedNurbsCurveP

Additional Inherited Members

Detailed DescriptionThe SoIndexedNurbsCurve class is a node for representing smooth curves​. Explaining NURBS is beyond the scope of this documentation​. If you are unfamiliar with the principles of representing smooth curves and surfaces when doing 3D visualization, we recommend finding a good book on the subject​. FILE FORMAT/DEFAULTS: IndexedNurbsCurve { numControlPoints 0 coordIndex 0 knotVector 0 }

Constructor & Destructor Documentation

SoIndexedNurbsCurve::SoIndexedNurbsCurve (void)Constructor​. References coordIndex, knotVector, and numControlPoints​.

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

Member Function Documentation

SoType SoIndexedNurbsCurve::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 } else if (node->getTypeId()​.isOfType(SoGroup::getClassTypeId())) { SoGroup * group = (SoGroup *)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​.

const SoFieldData * SoIndexedNurbsCurve::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​.

void SoIndexedNurbsCurve::GLRender (SoGLRenderAction * action) [virtual]Action method for the SoGLRenderAction​. This is called during rendering traversals​. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method​. Reimplemented from SoShape​. References SoAction::getState(), SoState::pop(), SoState::push(), and SoShape::shouldGLRender()​.

void SoIndexedNurbsCurve::rayPick (SoRayPickAction * action) [virtual]Calculates picked point based on primitives generated by subclasses​. Reimplemented from SoShape​. References SoAction::getState(), SoState::pop(), SoDebugError::postWarning(), SoState::push(), SoShape::rayPick(), and SoShape::shouldRayPick()​.

void SoIndexedNurbsCurve::getPrimitiveCount (SoGetPrimitiveCountAction * action) [virtual]Action method for the SoGetPrimitiveCountAction​. Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the action​. Nodes influencing how geometry nodes calculates their primitive count also overrides this method to change the relevant state variables​. Reimplemented from SoShape​. References SoShape::getPrimitiveCount()​.

void SoIndexedNurbsCurve::getBoundingBox (SoGetBoundingBoxAction * action) [virtual]Redefined to notify open caches that this shape contains lines​. Reimplemented from SoShape​. References SoShape::getBoundingBox(), and SoAction::getState()​.

void SoIndexedNurbsCurve::sendPrimitive (SoAction *, SoPrimitiveVertex *)This method is part of the original SGI Inventor API, but not implemented in Coin, as it looks like a method that should probably have been private in Open Inventor​.

void SoIndexedNurbsCurve::generatePrimitives (SoAction * action) [protected], [virtual]The method implements action behavior for shape nodes for SoCallbackAction​. It is invoked from SoShape::callback()​. (Subclasses should not override SoNode::callback()​.) The subclass implementations uses the convenience methods SoShape::beginShape(), SoShape::shapeVertex(), and SoShape::endShape(), with SoDetail instances, to pass the primitives making up the shape back to the caller​. Implements SoShape​.

void SoIndexedNurbsCurve::computeBBox (SoAction * action, SbBox3f & box, SbVec3f & center) [protected], [virtual]Calculates the bounding box of all control points, and sets the center to the average of these points​. Implements SoShape​. References coordIndex, SbBox3f::extendBy(), SoAction::getState(), SbBox3f::makeEmpty(), numControlPoints, and SbVec3f::setValue()​.

SoDetail * SoIndexedNurbsCurve::createLineSegmentDetail (SoRayPickAction * action, const SoPrimitiveVertex * v1, const SoPrimitiveVertex * v2, SoPickedPoint * pp) [protected], [virtual]Will create line detail for a SoPickedPoint​. This method will only be called internally, when generatePrimitives() is used for picking (SoShape::rayPick() is not overridden)​. This method returns NULL in Open Inventor, and subclasses will need to override this method to create details for a SoPickedPoint​. This is not necessary with Coin​. Of course, if you choose to override it, it will work in the same way as Open Inventor​. For this to work, you must supply a face or line detail when generating primitives​. If you supply NULL for the detail argument in SoShape::beginShape(), you'll have to override this method​. Reimplemented from SoShape​.

Member Data Documentation

SoSFInt32 SoIndexedNurbsCurve::numControlPointsNumber of control points for this curve​. Referenced by computeBBox(), and SoIndexedNurbsCurve()​.

SoMFInt32 SoIndexedNurbsCurve::coordIndexThe control point indices​. Supply at least numControlPoint indices​. Referenced by computeBBox(), and SoIndexedNurbsCurve()​.

SoMFFloat SoIndexedNurbsCurve::knotVectorThe knot vector​. Referenced by SoIndexedNurbsCurve()​.

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   36,193 byte
man-SoIndexedNurbsCurve.3coin2Build   :   2024-12-29, 07:25   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 259,127
Visitor ID   :     :  
Visitor IP   :   3.12.146.108   :  
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.29
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.