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

SoPrimitiveVertex Class Reference
[General classes]

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 SoVRMLIndexedLineSet::generatePrimitives(), 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.

References detail, materialIndex, normal, point, and textureCoords.

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  ) 


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 23 16:33:57 2009 for Coin by Doxygen. 1.5.8