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

Public Member Functions | List of all members
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>

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() [1/2]

SoPrimitiveVertex::SoPrimitiveVertex ( void  )

Default constructor, sets up a "void" instance.

◆ SoPrimitiveVertex() [2/2]

SoPrimitiveVertex::SoPrimitiveVertex ( const SoPrimitiveVertex pv)

Copy constructor. Does a shallow copy.

See also
SoPrimitiveVertex::operator=()

◆ ~SoPrimitiveVertex()

SoPrimitiveVertex::~SoPrimitiveVertex ( void  )

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

Member Function Documentation

◆ getPoint()

const SbVec3f & SoPrimitiveVertex::getPoint ( void  ) const

Returns vertex coordinates, positioned in object space.

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

◆ getNormal()

const SbVec3f & SoPrimitiveVertex::getNormal ( void  ) const

Returns normal vector, oriented in object space.

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

◆ getTextureCoords()

const SbVec4f & SoPrimitiveVertex::getTextureCoords ( void  ) const

Returns texture coordinates for vertex, specified in object space.

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

◆ getMaterialIndex()

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().

◆ getDetail()

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(), SoAsciiText::createTriangleDetail(), and SoText3::createTriangleDetail().

◆ operator=()

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.

◆ setPoint() [1/2]

void SoPrimitiveVertex::setPoint ( const SbVec3f pointref)

◆ setPoint() [2/2]

void SoPrimitiveVertex::setPoint ( float  x,
float  y,
float  z 
)
inline

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

References SbVec3f::setValue().

◆ setNormal() [1/2]

void SoPrimitiveVertex::setNormal ( const SbVec3f normalref)

◆ setNormal() [2/2]

void SoPrimitiveVertex::setNormal ( float  nx,
float  ny,
float  nz 
)
inline

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

◆ setTextureCoords() [1/6]

void SoPrimitiveVertex::setTextureCoords ( const SbVec2f texcoords)

◆ setTextureCoords() [2/6]

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

◆ setTextureCoords() [3/6]

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

◆ setTextureCoords() [4/6]

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

◆ setTextureCoords() [5/6]

void SoPrimitiveVertex::setTextureCoords ( const SbVec4f texcoords)

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

◆ setTextureCoords() [6/6]

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

◆ setMaterialIndex()

void SoPrimitiveVertex::setMaterialIndex ( const int  index)

◆ setDetail()

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 Fri Jul 20 2018 for Coin by Doxygen. 1.8.14