---
name: "SoNonIndexedShape"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoNonIndexedShape/3iv"
---

# SoNonIndexedShape(3iv)

abstract base class for all non-indexed vertex-based shapes

## NAME

SoNonIndexedShape — abstract base class for all non-indexed vertex-based shapes

## INHERITS FROM

SoBase \> SoFieldContainer \> SoNode \> SoShape \> SoVertexShape \> SoNonIndexedShape

## SYNOPSIS

**#include \<Inventor/nodes/SoNonIndexedShape.h\>**

Fields from class SoNonIndexedShape:

**SoSFInt32**	**startIndex**

Fields from class SoVertexShape:

**SoSFNode**	**vertexProperty**

Methods from class SoNonIndexedShape:

**static SoType**	**getClassTypeId()**

Methods from class SoNode:

**void**	**setOverride(SbBool state)**\
 **SbBool**	**isOverride() const**\
 **SoNode \***	**copy(SbBool copyConnections = FALSE) const**\
 **virtual SbBool**	**affectsState() const**\
 **static SoNode \***	**getByName(const SbName &name)**\
 **static int**	**getByName(const SbName &name, SoNodeList &list)**

Methods from class SoFieldContainer:

**void**	**setToDefaults()**\
 **SbBool**	**hasDefaultValues() const**\
 **SbBool**	**fieldsAreEqual(const SoFieldContainer \*fc) const**\
 **void**	**copyFieldValues(const SoFieldContainer \*fc, SbBool copyConnections = FALSE)**\
 **SbBool**	**set(const char \*fieldDataString)**\
 **void**	**get(SbString &fieldDataString)**\
 **virtual int**	**getFields(SoFieldList &resultList) const**\
 **virtual SoField \***	**getField(const SbName &fieldName) const**\
 **SbBool**	**getFieldName(const SoField \*field, SbName &fieldName) const**\
 **SbBool**	**isNotifyEnabled() const**\
 **SbBool**	**enableNotify(SbBool flag)**

Methods from class SoBase:

**void**	**ref()**\
 **void**	**unref() const**\
 **void**	**unrefNoDelete() const**\
 **void**	**touch()**\
 **virtual SoType**	**getTypeId() const**\
 **SbBool**	**isOfType(SoType type) const**\
 **virtual void**	**setName(const SbName &name)**\
 **virtual SbName**	**getName() const**

## DESCRIPTION

**This node is the abstract base class for all vertex-based shapes that are not constructed from indices, such as SoFaceSet**, **SoLineSet**, and **SoQuadMesh**.

All subclasses of **SoNonIndexedShape** construct objects by using the coordinates specified in the **vertexProperty** field (from **SoVertexShape**), or the current inherited coordinates. The **startIndex** field defined by this class is now obsolete, and is provided here only for compatibility with old files and programs.

The subclass decides what to do with this and any subsequent coordinates. The shape is drawn with the current lighting model and drawing style and is transformed by the current transformation matrix.

Material, normal, and texture coordinate bindings for shapes derived from this class ignore any index specifications. That is, a binding value of **PER\_FACE\_INDEXED** is treated the same way as **PER\_FACE**, and so on.

If there aren't sufficient values in the current coordinates, material, or texture coordinates, errors will occur.

## FIELDS

**SoSFInt32**	**startIndex**\
 Obsolete field, provided only for compatibility reasons. Index of first coordinate of shape.

## METHODS

**static SoType**	**getClassTypeId()**\
 Returns type identifier for this class.

## FILE FORMAT/DEFAULTS

This is an abstract class. See the reference page of a derived class for the format and default values.

## SEE ALSO

**SoFaceSet, SoIndexedShape, SoLineSet, SoPointSet, SoQuadMesh, SoTriangleStripSet, SoVertexProperty**
