55 SoTangentGenerator(
bool useLines,
int approxNumVertices = 16 );
102 return m_numVertTangents;
111 return m_vertTangents;
120 return m_vertTangents[i];
144 void setTangentBuffer( int32_t numTangents,
const SbVec3f* tangents );
149 std::vector<SbVec3f> m_tangents;
150 std::vector<SbVec3f> m_polylinePoints;
155 int32_t m_numVertTangents;
158 static int s_generationMode;
void beginLineStrip()
Send a line strip's worth of vertices.
void lineStripVertex(const SbVec3f &point)
void generate()
Calculate the tangents once all vertices have been sent.
void setupApproxShapeSize(int32_t approxNumVertices)
Resets the approximative number of vertices that we have to generate tangents for.
int getNumTangents() const
Returns number of tangents generated.
~SoTangentGenerator()
Surface tangent generator.
void setTangent(int32_t index, const SbVec3f &newTangent)
Add or modify a tangent vector.
const SbVec3f & getTangent(int32_t i) const
Returns the i'th tangent in the array.
SoTangentBindingElement::Binding getBinding() const
void setupIndexedVertexArray(const SbVec3f *pointArray)
Specifies a pointer to the array of points that will be used in subsequent calls to polygonVertex(ind...
const SbVec3f * getTangents() const
Returns a pointer to the array of tangents.
Binding
The choice of values is for compatibility with Open Inventor 2.0 binary format files: