Click or drag to resize
SoShapeBeginShape Method (SoAction, SoShapeTriangleShapes, SoFaceDetail)

These methods can be used by subclasses to generate triangles more easily when those triangles are part of a larger structure, such as a triangle strip, triangle fan, or triangulated polygon, according to the TriangleShape enumerated type.

Namespace: OIV.Inventor.Nodes
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2023.1.3.0 (2023.1.3)
Syntax
[EditorBrowsableAttribute(EditorBrowsableState.Advanced)]
public void BeginShape(
	SoAction action,
	SoShapeTriangleShapes shapeType,
	SoFaceDetail faceDetail
)

Parameters

action
Type: OIV.Inventor.ActionsSoAction
shapeType
Type: OIV.Inventor.NodesSoShapeTriangleShapes
faceDetail
Type: OIV.Inventor.DetailsSoFaceDetail
Remarks

The sequence of calls is similar to GL's: begin a shape, send vertices of that shape, then end the shape.

If the face detail passed to OIV.Inventor.Nodes.SoShape.BeginShape(OIV.Inventor.Actions.SoAction, OIV.Inventor.Nodes.SoShape.TriangleShapes, OIV.Inventor.Details.SoFaceDetail) is NULL (the default), the details in the vertices will be used as is. Note that some vertices may be copied into local storage; the detail pointers are copied as well, so the details themselves should be consistent for the duration of the shape generation.

If the face detail passed to OIV.Inventor.Nodes.SoShape.BeginShape(OIV.Inventor.Actions.SoAction, OIV.Inventor.Nodes.SoShape.TriangleShapes, OIV.Inventor.Details.SoFaceDetail) is non-NULL, the details in the vertices are assumed to be SoPointDetails. Each vertex of each triangle generated will contain a pointer to the face detail, which will be filled with three copies of the point details from the relevant vertices. Since copies of the point details are made, the storage for each point detail passed to OIV.Inventor.Nodes.SoShape.ShapeVertex(OIV.Inventor.SoPrimitiveVertex@) can be re-used by the caller.

See Also