# base.3coin3 man page

base — Base Classes

### Classes

classSbBSPTreeTheSbBSPTreeclass 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. "

classSbBox2dTheSbBox2dclass 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. "

classSbBox2fTheSbBox2fclass 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. "

classSbBox2sTheSbBox2sclass 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. "

classSbBox3dTheSbBox3dclass 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. "

classSbBox3fTheSbBox3fclass 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. "

classSbBox3sTheSbBox3sclass 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. "

classSbClipTheSbClipclass 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. "

classSbColorTheSbColorclass 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. "

classSbColor4fTheSbColor4fclass 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. "

classSbCylinderTheSbCylinderclass 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. "

classSbDPLineTheSbDPLineclass 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. "

classSbDPMatrixTheSbDPMatrixclass 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**. "

classSbPlaneTheSbPlaneclass 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. "

classSbDPRotationTheSbDPRotationclass represents a rotation in 3D space.

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

classSbDPViewVolumeTheSbDPViewVolumeclass 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. "

classSbDictTheSbDictclass 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. "

classSbHeapTheSbHeapclass is a generic heap class.

FIXME: write doc. "

classSbImageTheSbImageclass 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. "

classSbLineTheSbLineclass 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. "

classSbMatrixTheSbMatrixclass 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. "

classSbNameTheSbNameclass 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). "

classSbOctTreeTheSbOctTreeclass 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. "

classSbRotationTheSbRotationclass represents a rotation in 3D space.

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

classSbSphereTheSbSphereclass 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). "

classSbStringTheSbStringclass 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. "

classSbTesselatorTheSbTesselatorclass 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. "

classSbTimeTheSbTimeclass instances represents time values.

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

classSbVec2dTheSbVec2dclass 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. "

classSbVec2fTheSbVec2fclass 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. "

classSbVec2i32TheSbVec2i32class 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. "

classSbVec2sTheSbVec2sclass 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. "

classSbVec3dTheSbVec3dclass 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. "

classSbVec3fTheSbVec3fclass 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. "

classSbVec3sTheSbVec3sclass 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. "

classSbVec4dTheSbVec4dclass 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. "

classSbVec4fTheSbVec4fclass 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. "

classSbViewVolumeTheSbViewVolumeclass 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. "

classSbViewportRegionTheSbViewportRegionclass 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. "

classSbXfBox3dTheSbXfBox3dclass 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. "

classSbXfBox3fTheSbXfBox3fclass 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. "

structcc_stringThecc_stringtype is a C ADT for ASCII string management.

This is a Coin extension. "

classSbIntListTheSbIntListclass is a container for integer list arrays.

classSbList< Type >TheSbListclass 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. "

classSbPListTheSbPListclass is a container class for void pointers.

classSbStringListTheSbStringListclass is a container for arrays ofSbStringpointers.

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

classSbVec3fListTheSbVec3fListclass is a container for arrays ofSbVec3fpointers.

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