# base.3coin3 man page

base

## Synopsis

### Classes

class **SbBSPTree**

The **SbBSPTree** class provides a binary space partitioning container.

This class can be used to organize searches for 3D points or normals in a set in O(log(n)) time. "

class **SbBox2d**

The **SbBox2d** class is a 2 dimensional box with double precision corner coordinates.

This box class is used by many other classes in Coin for data exchange and storage. It provides two box corners with double precision coordinates, which is among other things useful for representing screen or canvas dimensions in normalized coordinates. "

class **SbBox2f**

The **SbBox2f** class is a 2 dimensional box with floating point corner coordinates.

This box class is used by many other classes in Coin for data exchange and storage. It provides two box corners with floating point coordinates, which is among other things useful for representing screen or canvas dimensions in normalized coordinates. "

class **SbBox2s**

The **SbBox2s** class is a 2 dimensional box with short integer coordinates.

This box class is used by other classes in Coin for data exchange. It provides storage for two box corners with short integer coordinates, which is among other things useful for representing screen or canvas areas in absolute window coordinates. "

class **SbBox3d**

The **SbBox3d** class is an abstraction for an axis aligned 3 dimensional box.

This box abstraction class is used by other entities in the Coin library for data exchange and storage. It provides a representation of the defining corners of a box in 3D space, with the sides aligned with the 3 principal axes. "

class **SbBox3f**

The **SbBox3f** class is an abstraction for an axis aligned 3 dimensional box.

This box abstraction class is used by other entities in the Coin library for data exchange and storage. It provides a representation of the defining corners of a box in 3D space, with the sides aligned with the 3 principal axes. "

class **SbBox3s**

The **SbBox3s** class is a 3 dimensional box with short integer coordinates.

This box class is used by other classes in Coin for data exchange. It provides storage for two box corners with short integer coordinates, which is among other things useful for representing screen or canvas areas in absolute window coordinates. "

class **SbClip**

The **SbClip** class is a generic polygon clipper class.

It is used by first adding all vertices in the polygon, and then clipping against any number of planes. If you need to supply additional information per vertex (e.g. texture coordinates), you should supply a callback in the constructor, and a pointer to your vertex structure in **addVertex()**. For every new vertex created, the callback is called with the line being clipped, including the pointers to your vertex structures and the position of the new (clipped against some plane) vertex. You should then create a new vertex structure, calculate your data (e.g. a new texture coordinate) and return a pointer to this structure. "

class **SbColor**

The **SbColor** class contains the red, green and blue components which make up a color value.

This class is used within other classes in Coin. It inherits the **SbVec3f** class, interpreting the 3 component vector as a vector in the RGB cube where the red, green and blue components corresponds to x, y and z respectively. "

class **SbColor4f**

The **SbColor4f** class contains the red, green, blue and alpha components which make up a color value.

This class is used internally within other classes in Coin. It contains a 4 component vector as a position in the RGB cube with an additional transparency value. "

class **SbCylinder**

The **SbCylinder** class is a representation of a cylinder.

This class is used within other classes in Coin. It contains data to represent a cylinder by an axis and a radius. The cylinder has no length/height value, which means it is treated as of infinite length. "

class **SbDPLine**

The **SbDPLine** class represents a line in 3D space.

**SbDPLine** is used by many other classes in Coin. It provides a way of specifying a directed line (also known as a ray) through a specified point (origin) and a direction in 3D space. Note that the line is infinite in both directions from its definition point. "

class **SbDPMatrix**

The **SbDPMatrix** class is a 4x4 dimensional representation of a double-precision matrix.

This class is like the **SbMatrix** class, but uses double-precision floating point values for its elements. For more class documentation, see **SbMatrix**. "

class **SbPlane**

The **SbPlane** class represents a plane in 3D space.

SbDPPlane is used by many other classes in Coin. It provides a way of representing a plane, specified by a plane normal vector and a distance from the origin of the coordinate system. "

class **SbDPRotation**

The **SbDPRotation** class represents a rotation in 3D space.

**SbDPRotation** is used extensively throughout the Coin library. "

class **SbDPViewVolume**

The **SbDPViewVolume** class is a double precision viewing volume in 3D space.

This class contains the necessary information for storing a view volume. It has methods for projection of primitives from or into the 3D volume, doing camera transforms, view volume transforms etc. "

class **SbDict**

The **SbDict** class organizes a dictionary of keys and values.

It uses hashing to quickly insert and find entries in the dictionary. An entry consists of an unique key and a generic pointer. "

class **SbHeap**

The **SbHeap** class is a generic heap class.

FIXME: write doc. "

class **SbImage**

The **SbImage** class is an abstract datatype for 2D and 3D images.

Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API. "

class **SbLine**

The **SbLine** class represents a line in 3D space.

**SbLine** provides a way of specifying a directed line, through a 3D point (origin) and a vector direction in 3D space. "

class **SbMatrix**

The **SbMatrix** class is a 4x4 dimensional representation of a matrix.

**SbMatrix** is used by many other classes in Coin. It provides storage for a 4x4 matrix of single-precision floating point values. "

class **SbName**

The **SbName** class stores strings by reference.

The class is used by Coin for storing keywords, names and other strings. They are stored in a manner where identical strings are guaranteed to map to the same memory address (as returned by the **SbName::getString()** method). "

class **SbOctTree**

The **SbOctTree** class defines a generic oct tree for fast geometry searches.

Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API. "

class **SbRotation**

The **SbRotation** class represents a rotation in 3D space.

**SbRotation** is used extensively throughout the Coin library. "

class **SbSphere**

The **SbSphere** class is a representation of a sphere.

This class is used within many other classes in Coin. It contains the data neccessary to represent a sphere (a 3D point and a radius). "

class **SbString**

The **SbString** class is a string class with convenience functions for string operations.

This is the class used for storing and working with character strings. It automatically takes care of supporting all the 'bookkeeping' tasks usually associated with working with character strings, like memory allocation and deallocation etc. "

class **SbTesselator**

The **SbTesselator** class is used to tessellate polygons into triangles.

**SbTesselator** is used within Coin to split polygons into triangles. It handles concave polygons, does Delaunay triangulation and avoids generating self-intersecting triangles. "

class **SbTime**

The **SbTime** class instances represents time values.

**SbTime** is a convenient way of doing system independent representation and calculations on time values of high resolution. "

class **SbVec2d**

The **SbVec2d** class is a 2 dimensional vector with double precision floating point coordinates.

This vector class is used by many other classes in Coin. It provides storage for a vector in 2 dimensions aswell as simple floating point arithmetic operations on this vector. "

class **SbVec2f**

The **SbVec2f** class is a 2 dimensional vector with floating point coordinates.

This vector class is used by many other classes in Coin. It provides storage for a vector in 2 dimensions aswell as simple floating point arithmetic operations on this vector. "

class **SbVec2i32**

The **SbVec2i32** class is a 2 dimensional vector with short integer coordinates.

This vector class is used by many other classes in Coin. It provides storage for a vector in 2 dimensions as well as simple integer arithmetic operations. "

class **SbVec2s**

The **SbVec2s** class is a 2 dimensional vector with short integer coordinates.

This vector class is used by many other classes in Coin. It provides storage for a vector in 2 dimensions as well as simple integer arithmetic operations. "

class **SbVec3d**

The **SbVec3d** class is a 3 dimensional vector with double precision floating point coordinates.

This vector class provides storage for a 3 dimensional double precision floating point vector aswell as simple floating point arithmetic operations. "

class **SbVec3f**

The **SbVec3f** class is a 3 dimensional vector with floating point coordinates.

This vector class is used by many other classes in Coin. It provides storage for a 3 dimensional vector aswell as simple floating point arithmetic operations. "

class **SbVec3s**

The **SbVec3s** class is a 3 dimensional vector with short integer coordinates.

This vector class provides storage for a 3 dimensional vector as well as simple integer arithmetic operations. "

class **SbVec4d**

The **SbVec4d** class is a 4 dimensional vector with double precision floating point coordinates.

This vector class is not by many other classes in Coin. It provides storage for a 3 dimensional homogeneoues vector (with the 4 components usually referred to as <x, y, z, w>) aswell as simple double precision floating point arithmetic operations. "

class **SbVec4f**

The **SbVec4f** class is a 4 dimensional vector with floating point coordinates.

This vector class is used by many other classes in Coin. It provides storage for a 3 dimensional homogeneoues vector (with the 4 components usually referred to as <x, y, z, w>) aswell as simple floating point arithmetic operations. "

class **SbViewVolume**

The **SbViewVolume** class is a viewing volume in 3D space.

This class contains the necessary information for storing a view volume. It has methods for projection of primitives into the 3D volume from 2D points in the projection plane or vice versa, doing camera transforms, view volume transforms, etc. "

class **SbViewportRegion**

The **SbViewportRegion** class is a viewport within a full window.

The **SbViewportRegion** class contains information to represent a subview within a window. It stores information about the origin and size of the subview, aswell as the size of the underlying 'full' window. "

class **SbXfBox3d**

The **SbXfBox3d** class is a 3 dimensional box with double precision coordinates and an attached transformation.

It provides storage for two box corners with double precision floating point coordinates, and for a double precision 4x4 transformation matrix. "

class **SbXfBox3f**

The **SbXfBox3f** class is a 3 dimensional box with floating point coordinates and an attached transformation.

This box class is used by many other classes in Coin for data exchange. It provides storage for two box corners with floating point coordinates, and for a floating point 4x4 transformation matrix. "

struct **cc_string**

The **cc_string** type is a C ADT for ASCII string management.

This is a Coin extension. "

class **SbIntList**

The **SbIntList** class is a container for integer list arrays.

class **SbList< Type >**

The **SbList** class is a template container class for lists.

**SbList** is an extension of the Coin library versus the original Open Inventor API. Open Inventor handles most list classes by inheriting the **SbPList** class, which contains an array of generic `void*`

pointers. By using this template-based class instead, we can share more code and make the list handling code more typesafe. "

class **SbPList**

The **SbPList** class is a container class for void pointers.

class **SbStringList**

The **SbStringList** class is a container for arrays of **SbString** pointers.

Note that upon using the equality and inequality operators, the strings themselves are not compared, only the pointer values. "

class **SbVec3fList**

The **SbVec3fList** class is a container for arrays of **SbVec3f** pointers.

Note that upon using the equality and inequality operators, the **SbVec3f** objects themselves are not compared, only the pointer values. "

## Detailed Description

This group is just a lot of basic types for linear algebra, string manipulation and misc. other utilities.

## Author

Generated automatically by Doxygen for Coin from the source code.

## Referenced By

base.3coin2(3) is an alias of base.3coin3(3).