Coin Logo http://www.sim.no
http://www.coin3d.org

Public Member Functions

SoPrimitiveVertex Class Reference

The SoPrimitiveVertex class represents a single vertex of a generated primitive.Instances of SoPrimitiveVertex are constructed when generating primitive data, primarily during an SoCallbackAction traversal. Depending on the context the vertex could represent a single 3D point, one of the two vertices in a line or one of the three vertices in a triangle. More...

#include <Inventor/SoPrimitiveVertex.h>

List of all members.

Public Member Functions

 SoPrimitiveVertex (void)
 SoPrimitiveVertex (const SoPrimitiveVertex &pv)
 ~SoPrimitiveVertex (void)
const SbVec3fgetPoint (void) const
const SbVec3fgetNormal (void) const
const SbVec4fgetTextureCoords (void) const
int getMaterialIndex (void) const
const SoDetailgetDetail (void) const
SoPrimitiveVertexoperator= (const SoPrimitiveVertex &pv)
void setPoint (const SbVec3f &point)
void setPoint (float x, float y, float z)
void setNormal (const SbVec3f &normal)
void setNormal (float nx, float ny, float nz)
void setTextureCoords (const SbVec2f &texcoords)
void setTextureCoords (float tx, float ty)
void setTextureCoords (const SbVec3f &texcoords)
void setTextureCoords (float tx, float ty, float tz)
void setTextureCoords (const SbVec4f &texcoords)
void setTextureCoords (float tx, float ty, float tz, float tw)
void setMaterialIndex (const int index)
void setDetail (SoDetail *const d)

Detailed Description

The SoPrimitiveVertex class represents a single vertex of a generated primitive.

Instances of SoPrimitiveVertex are constructed when generating primitive data, primarily during an SoCallbackAction traversal. Depending on the context the vertex could represent a single 3D point, one of the two vertices in a line or one of the three vertices in a triangle.


Constructor & Destructor Documentation

SoPrimitiveVertex::SoPrimitiveVertex ( void  )

Default constructor, sets up a "void" instance.

SoPrimitiveVertex::SoPrimitiveVertex ( const SoPrimitiveVertex pv)

Copy constructor. Does a shallow copy.

See also:
SoPrimitiveVertex::operator=()
SoPrimitiveVertex::~SoPrimitiveVertex ( void  )

Destructor. The detail instance is owned by client code and will not be destructed here.


Member Function Documentation

const SbVec3f & SoPrimitiveVertex::getPoint ( void  ) const

Returns vertex coordinates, positioned in object space.

Referenced by SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

const SbVec3f & SoPrimitiveVertex::getNormal ( void  ) const

Returns normal vector, oriented in object space.

Referenced by SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

const SbVec4f & SoPrimitiveVertex::getTextureCoords ( void  ) const

Returns texture coordinates for vertex, specified in object space.

Referenced by SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

int SoPrimitiveVertex::getMaterialIndex ( void  ) const

Returns index of the vertex into the currently active material, if any.

Referenced by SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

const SoDetail * SoPrimitiveVertex::getDetail ( void  ) const

Returns pointer to detail instance with more information about the vertex. A detail instance may not be available, and if so NULL is returned.

Referenced by SoShape::createPointDetail(), SoText3::createTriangleDetail(), and SoAsciiText::createTriangleDetail().

SoPrimitiveVertex & SoPrimitiveVertex::operator= ( const SoPrimitiveVertex pv)

Copy operator.

When pv is copied into this instance, a shallow copy is made. Ie, only the reference to the detail instance is copied (if any), not the detail itself.

void SoPrimitiveVertex::setPoint ( const SbVec3f pointref)
void SoPrimitiveVertex::setPoint ( float  x,
float  y,
float  z 
) [inline]

Used internally from library client code setting up an SoPrimitiveVertex instance.

References SbVec3f::setValue().

void SoPrimitiveVertex::setNormal ( const SbVec3f normalref)
void SoPrimitiveVertex::setNormal ( float  nx,
float  ny,
float  nz 
) [inline]

Used internally from library client code setting up an SoPrimitiveVertex instance.

void SoPrimitiveVertex::setTextureCoords ( const SbVec2f texcoords)
void SoPrimitiveVertex::setTextureCoords ( float  tx,
float  ty 
) [inline]

Used internally from library client code setting up an SoPrimitiveVertex instance.

Covenience function. Will fill in 0 and 1 in the last two texture coords in the internal SbVec4f texture coordinate instance.

Since:
Coin 2.5
void SoPrimitiveVertex::setTextureCoords ( const SbVec3f texcoords)

Covenience function. Will fill in 1 in the last coord.

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 SoPrimitiveVertex::setTextureCoords ( float  tx,
float  ty,
float  tz 
) [inline]

Covenience function. Will fill in 1 in the last coord.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

Since:
Coin 2.5
void SoPrimitiveVertex::setTextureCoords ( const SbVec4f texcoords)

Used internally from library client code setting up an SoPrimitiveVertex instance.

void SoPrimitiveVertex::setTextureCoords ( float  tx,
float  ty,
float  tz,
float  tw 
) [inline]

Covenience function.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

Since:
Coin 2.5
void SoPrimitiveVertex::setMaterialIndex ( const int  index)
void SoPrimitiveVertex::setDetail ( SoDetail *const  detailptr)

Used internally from library client code setting up an SoPrimitiveVertex instance.

Note that it's the client's responsibility to do the deallocation of the detail instance after the SoPrimitiveVertex instance has gone out of scope.

Referenced by SoTriangleStripSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoPointSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoFaceSet::generatePrimitives(), and SoAsciiText::generatePrimitives().


The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Feb 28 2011 10:12:17 for Coin by Doxygen. 1.7.3