-
Carta.tech
-
Packages
-
libcoin80-doc
-
831
- Coin_books.3
- Books related to open inventor / coin here is a list of some of the better books for people that invested in software development with open inventor. if you have suggestions for additional books that ought to go on this list, please feel free to tell us about it.
- Coin_environment_variables.3
- Environment variables debug related: coin_debug_glu_info coin_debug_fontsupport coin_debug_3ds coin_debug_audio coin_debug_break coin_debug_caching coin_debug_dl coin_debug_import coin_debug_listmodules coin_debug_soinput_findfile coin_debug_sooffscreenrenderer coin_debug_writerefs coin_randomize_render_caching font/text rendering related: coin_freetype2_libname coin_force_freetype_off coin_force_win32fonts_off coin_font_path coin_disable_utf8 coin_glu_libname coin_aglglue_no_pbuffers coin_debug_dl coin_simage_libname coin_glxglue_no_glx13_pbuffers coin_glxglue_no_pbuffers coin_zlib_libname coin_bzip2_libname coin_wglglue_no_pbuffers coin_dont_mangle_output_names coin_extselection_save_offscreenbuffer coin_force_tiled_offscreenrendering coin_glerror_debugging coin_ida_debug coin_offscreenrenderer_max_tilesize coin_offscreenrenderer_tileheight coin_offscreenrenderer_tilewidth coin_oldstyle_formatting coin_separate_diffuse_transparency_override coin_soinput_search_global_dict coin_sooffscreenrenderer_tileprefix coin_sorted_layers_use_nvidia_rc sound related: coin_sound_buffer_length coin_sound_disable coin_sound_driver_name coin_sound_enable coin_sound_intro_pause coin_sound_num_buffers coin_sound_thread_sleep_time coin_openal_libname texture control related: coin_tex2_linear_limit coin_tex2_linear_mipmap_limit coin_tex2_mipmap_limit coin_tex2_scaleup_limit coin_tex2_use_gltexsubimage coin_maximum_texture2_size coin_maximum_texture3_size rendering (opengl) related: coin_use_gl_vertex_arrays coin_normalization_cubemap_size oiv_num_sorted_layers_passes coin_max_vbo_memory coin_num_sorted_layers_passes coin_quadmesh_precise_lighting coin_enable_conformant_gl_clamp coin_glbbox iv_separator_max_caches coin_autocache_local_max coin_autocache_local_min coin_autocache_remote_max coin_autocache_remote_min coin_auto_caching coin_enable_vbo coin_sooffscreenrenderer_allow_resourcehog so_dragger_dir so_shader_dir coindir
- SbBSPTree.3
- 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.
- SbBox2d.3
- 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.
- SbBox2f.3
- 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.
- SbBox2s.3
- 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.
- SbBox3d.3
- 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.
- SbBox3f.3
- 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.
- SbBox3s.3
- 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.
- SbClip.3
- 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.
- SbClip.h.3
- Sbclip.h -
- SbColor.3
- 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.
- SbColor4f.3
- 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.
- SbCylinder.3
- 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.
- SbCylinderPlaneProjector.3
- The sbcylinderplaneprojector class projects 2d points to a half-cylinder and a plane. this projector uses a plane along with the half-cylinder of sbcylindersectionprojector for projections. if the 2d point mapping 'misses' the cylinder section, the 3d point will be projected onto the plane.
- SbCylinderProjector.3
- The sbcylinderprojector class is the abstract base class for mapping to cylindrical surfaces. the cylinder projectors map 2d points to various surface types based on cylindrical shapes.
- SbCylinderSectionProjector.3
- The sbcylindersectionprojector projects 2d points to a sliced cylinder. the projection cylinder for this class is sliced by a clipping plane parallel to its height axis. projections will be mapped to the remaining cylinder part.
- SbCylinderSheetProjector.3
- The sbcylindersheetprojector class projects 2d points to 3d points on a sheet covering a cylindrical shape.
- SbDPLine.3
- 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.
- SbDPMatrix.3
- 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.
- SbDPPlane.3
- The sbdpplane 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.
- SbDPRotation.3
- The sbdprotation class represents a rotation in 3d space. sbdprotation is used extensively throughout the coin library.
- SbDPViewVolume.3
- 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.
- SbDict.3
- 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.
- SbDict.h.3
- Sbdict.h -
- SbHeap.3
- The sbheap class is a generic heap class. fixme: write doc.
- SbHeapFuncs.3
- The sbheapfuncs struct is used to specify functions on heap elements.
- SbImage.3
- 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.
- SbImage.h.3
- Sbimage.h -
- SbIntList.3
- The sbintlist class is a container for integer list arrays.
- SbLine.3
- 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.
- SbLineProjector.3
- The sblineprojector class projects 2d points to 3d points along a line. the 3d projection of the 2d coordinates is for this projector class constrained to lie along a pre-defined line.
- SbList.3
- 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.
- SbMatrix.3
- 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.
- SbName.3
- 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).
- SbOctTree.3
- 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.
- SbOctTreeFuncs.3
- Sbocttreefuncs -
- SbPList.3
- The sbplist class is a container class for void pointers.
- SbPlane.3
- The sbplane class represents a plane in 3d space. sbplane 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.
- SbPlaneProjector.3
- The sbplaneprojector class projects 2d points to 3d points in a plane. the 3d projection of the 2d coordinates is for this projector class constrained to lie inside a pre-defined 3d plane.
- SbProfilingData.3
- Data structure for gathering scene graph traversal profiling information.
- SbProfilingData.h.3
- Sbprofilingdata.h -
- SbProjector.3
- The sbprojector class is the abstract base projector class. projectors are used in the coin library for mapping 2d coordinates (typically from the position of the mouse cursor in the rendering window) to 3d 'world' coordinates.
- SbRotation.3
- The sbrotation class represents a rotation in 3d space. sbrotation is used extensively throughout the coin library.
- SbSphere.3
- 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).
- SbSpherePlaneProjector.3
- The sbsphereplaneprojector class projects 2d points to a half-sphere and a plane. this projector uses a plane along with the half-sphere of sbspheresectionprojector for projections. if the 2d point mapping 'misses' the sphere section, the 3d point will be projected onto the plane.
- SbSphereProjector.3
- The sbsphereprojector class is the abstract base class for mapping to spherical surfaces. the sphere projectors map 2d points to various surface types based on spherical shapes.
- SbSphereSectionProjector.3
- The sbspheresectionprojector projects 2d points to a sliced sphere. the projection sphere for this class is sliced by a clipping plane. projections will be mapped to the remaining sphere part.
- SbSphereSheetProjector.3
- The sbspheresheetprojector class projects 2d points to 3d points on a sheet covering a spherical shape. the following stand-alone example shows how screen space coordinates projects into 3d when mapped with an sbspheresheetprojector. it outputs the resulting projections as an sopointset in a inventor-file on stdout:
- SbString.3
- 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.
- SbStringList.3
- 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.
- SbTesselator.3
- 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.
- SbTesselator.h.3
- Sbtesselator.h -
- SbTime.3
- 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.
- SbTypeInfo.3
- A type information library for coin types and their relations.
- SbVec2b.3
- A vector class for containing two byte integers.
- SbVec2d.3
- 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.
- SbVec2f.3
- 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.
- SbVec2i32.3
- 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.
- SbVec2s.3
- 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.
- SbVec2ub.3
- Sbvec2ub -
- SbVec2ui32.3
- Sbvec2ui32 -
- SbVec2us.3
- Sbvec2us -
- SbVec3b.3
- Sbvec3b -
- SbVec3d.3
- 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.
- SbVec3f.3
- 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.
- SbVec3fList.3
- 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.
- SbVec3i32.3
- Sbvec3i32 -
- SbVec3s.3
- 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.
- SbVec3ub.3
- Sbvec3ub -
- SbVec3ui32.3
- Sbvec3ui32 -
- SbVec3us.3
- Sbvec3us -
- SbVec4b.3
- Sbvec4b -
- SbVec4d.3
- 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.
- SbVec4f.3
- 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.
- SbVec4i32.3
- Sbvec4i32 -
- SbVec4s.3
- Sbvec4s -
- SbVec4ub.3
- Sbvec4ub -
- SbVec4ui32.3
- Sbvec4ui32 -
- SbViewVolume.3
- 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.
- SbViewportRegion.3
- 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.
- SbXfBox3d.3
- 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.
- SbXfBox3f.3
- 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.
- ScXML.3
- Namespace for static scxml-related functions.
- ScXMLAbstractStateElt.3
- Abstract base class for the scxml 'state' elements.
- ScXMLAnchorElt.3
- Implements the anchor scxml element.
- ScXMLAndOpExprDataObj.3
- Implements the logical and operator.
- ScXMLAssignElt.3
- The assign scxml element.
- ScXMLCoinEvaluator.3
- Implements the evaluator for the custom profile named 'x-coin'.
- ScXMLConstantDataObj.3
- Base class for immediate data values
- ScXMLContentElt.3
- Implements the content scxml element.
- ScXMLDataElt.3
- The data scxml element.
- ScXMLDataModelElt.3
- Implements the datamodel scxml element.
- ScXMLDataObj.3
- Base class for evaluator data objects in the scxml data module
- ScXMLDocument.3
- Scxmldocument -
- ScXMLECMAScriptEvaluator.3
- Evaluator for the ecmascript profile.
- ScXMLElseElt.3
- Implements the else scxml element.
- ScXMLElseIfElt.3
- Implements the elseif scxml element.
- ScXMLElt.3
- Base class for all scxml elements.
- ScXMLEltReader.3
- Base class for element reader objects
- ScXMLEvaluator.3
- Defines an interface for profile-dependent evaluators.
- ScXMLEvent.3
- Base class for events sent to scxml state machines.
- ScXMLEventElt.3
- Implements the event scxml element.
- ScXMLEventTarget.3
- Base class for event targets for inter-system event communication
- ScXMLExecutableElt.3
- Base class for all scxml elements with executable content.
- ScXMLFinalElt.3
- Implements the final scxml element.
- ScXMLFinalizeElt.3
- Implements the finalize scxml element.
- ScXMLHistoryElt.3
- Implements the history scxml element.
- ScXMLIfElt.3
- Implements the if scxml element.
- ScXMLInitialElt.3
- Implements the initial scxml element.
- ScXMLInvokeElt.3
- Implements the invoke scxml element.
- ScXMLLogElt.3
- Implements the log scxml element.
- ScXMLMinimumEvaluator.3
- Implements the evaluator for the minimum profile.
- ScXMLMinimumExprDataObj.3
- Implements the data objects for the evaluator for the minimum profile.
- ScXMLObject.3
- Base class for all scxml objects.
- ScXMLParallelElt.3
- Implements the parallel scxml element.
- ScXMLParamElt.3
- Implements the param scxml element.
- ScXMLReferenceDataObj.3
- A data object representing a reference to another object in the data model.
- ScXMLScriptElt.3
- Implements the script scxml element.
- ScXMLScxmlElt.3
- Implements the scxml scxml element.
- ScXMLSendElt.3
- The send scxml element.
- ScXMLStateElt.3
- Implements the state scxml element.
- ScXMLStateMachine.3
- Manager for processing events and setting states in scxml structures.
- ScXMLStateMachine.h.3
- Scxmlstatemachine.h -
- ScXMLTransitionElt.3
- The transition scxml element.
- ScXMLValidateElt.3
- Implements the validate scxml element.
- ScXMLXPathEvaluator.3
- Implements the xpath evaluator.
- SoAccumulatedElement.3
- The soaccumulatedelement class is an abstract class for storing accumulated state. this is the superclass of elements where new element data accumulates with older data.
- SoAction.3
- The soaction class is the base class for all traversal actions. applying actions is the basic mechanism in coin for executing various operations on scene graphs or paths within scene graphs, including search operations, rendering, interaction through picking, etc.
- SoActionMethodList.3
- The soactionmethodlist class contains function pointers for action methods. an soactionmethodlist contains one function pointer per node type. each action contains an soactiomethodlist to know which functions to call during scene graph traversal.
- SoActionMethodList.h.3
- Soactionmethodlist.h -
- SoAlarmSensor.3
- The soalarmsensor class is a sensor which will trigger once at a specified time. soalarmsensor provides a convenient way of setting up triggers for jobs which should be executed only once when they are scheduled.
- SoAmbientColorElement.3
- The soambientcolorelement class is yet to be documented.
- SoAnnoText3CharOrientElement.3
- The soannotext3charorientelement class is yet to be documented. fixme: write doc.
- SoAnnoText3FontSizeHintElement.3
- The soannotext3fontsizehintelement class is yet to be documented. fixme: write doc.
- SoAnnoText3RenderPrintElement.3
- The soannotext3renderprintelement class is yet to be documented. fixme: write doc.
- SoAnnotation.3
- The soannotation node draws all its child geometry on top of other geometry. this group-type node uses delayed rendering in combination with z-buffer disabling to let its children transparently render their geometry on top of the other geometry in the scene.
- SoAntiSquish.3
- The soantisquish class is used to reset to uniform scaling. when traversed, this node replaces the scale vector of the matrix with uniform values, based on one of the soantisquish::sizing strategies.
- SoAppearanceKit.3
- The soappearancekit class is a node kit catalog that collects miscellaneous appearance node types. node kit structure (new entries versus parent class marked with arrow prefix):
- SoArray.3
- The soarray class is a group node for setting up regular arrays of subgraphs. soarray presents a convenient way of duplicating a node (typically a shape node) or a complete subgraph in 1 to 3 dimensions.
- SoAsciiText.3
- The soasciitext class renders flat 3d text. the text is rendered using 3d polygon geometry.
- SoAudioDevice.3
- The soaudiodevice class is used to control an audio device. the soaudiodevice class is responsible for initialization of an audio device, as well as enabling and disabling sound. it is a singleton class.
- SoAudioRenderAction.3
- The soaudiorenderaction class renders the aural parts of the scene graph. applying this method at a root node for a scene graph, path or pathlist will render all sound-related nodes contained within that instance to the current soaudiodevice.
- SoAuditorList.3
- The soauditorlist class is used to keep track of auditors for certain object classes. this class is mainly for internal use (from sobase) and it should not be necessary to be familiar with it for 'ordinary' coin use.
- SoBBoxModelMatrixElement.3
- The sobboxmodelmatrixelement class keeps track of the current model matrix during a scene graph traversal. it is used by amongst others the sogetboundingboxaction class.
- SoBase.3
- The sobase class is the top-level superclass for a number of class-hierarchies. sobase provides the basic interfaces and methods for doing reference counting, type identification and import/export. all classes in coin which uses these mechanisms are descendent from this class.
- SoBaseColor.3
- The sobasecolor class provides a node type for convenient setting of the base material color. if you want to just set the diffuse color of the following geometry, you can use this node for simplicity.
- SoBaseKit.3
- The sobasekit class is the toplevel superclass for nodekits. node kits are collections of nodes and other node kits (from here on node kits which are part of some other node kit, will only be referred to as nodes or parts, see catalogs and parts), organized in a way that is convenient for its use. a node kit inherits sonode and can thus be inserted into a scenegraph as any other node.
- SoBaseList.3
- The sobaselist class is a container for pointers to sobase derived objects. the additional capability of the sobaselist class over its parent class, sbplist, is to automatically handle referencing and dereferencing of items as they are added or removed from the lists.
- SoBlinker.3
- The soblinker class is a cycling switch node. this switch node cycles its children soblinker::speed number of times per second. if the node has only one child, it will be cycled on and off. cycling can be turned off using the soblinker::on field, and the node then behaves like a normal soswitch node.
- SoBoolOperation.3
- The sobooloperation engine evaluates expressions of boolean logic. the multivalue fields sobooloperation::a and sobooloperation::b are combined according to the operations set in sobooloperation::operation, with the resulting true or false value set on sobooloperation::output.
- SoBoundingBoxCache.3
- The soboundingboxcache class is used to cache bounding boxes.
- SoBoxHighlightRenderAction.3
- The soboxhighlightrenderaction class renders the scene with highlighted boxes around selections. this action performs the same tasks as its parent class, soglrenderaction, with the added ability to render highlighted bounding boxes around geometry in selected nodes. this is a simple but convenient way of giving feedback to the user upon interaction with the scene graph.
- SoBumpMap.3
- The sobumpmap class is used to map a bump map onto subsequent shapes. sobumpmap has support for two types of maps. if the image is a three component (rgb) image, it will be treated as a normal map, where the red image component equals the x normal component, green equals y, and blue is z. see http://www.paulsprojects.net/tutorials/simplebump/simplebump.html for a nice introduction about bump mapping and normal maps.
- SoBumpMapCoordinate.3
- The sobumpmapcoordinate class is a node for providing bump map coordinates to shape nodes. when encountering nodes of this type during traversal, the coordinates it contains will be put on the state stack for later use by shape nodes. the bump map coordinates can be used to specify explicit coordinates for a bump map. the sobumpmap node is used to specify a bump map for the shape nodes.
- SoBumpMapCoordinateElement.3
- The sobumpmapcoordinateelement class is yet to be documented. fixme: write doc.
- SoBumpMapMatrixElement.3
- The sobumpmapmatrixelement class is used to manage the bump map matrix stack. the bump map matrix is used to transform bump map coordinates before being used to map bump maps onto polygons.
- SoBumpMapTransform.3
- The sobumpmaptransform class is used to define 2d bump map transformations. bump maps applied to shapes in the scene can be transformed by 'prefixing' in the state with instances of this node type. translations, rotations and scaling in 2d can all be done.
- SoBundle.3
- The sobundle class is the superclass for all bundle classes.
- SoButtonEvent.3
- The sobuttonevent class is the base class for all button events. the event classes which results from the user pushing buttons on some device (keyboard, mouse or spaceball) all inherit this class. the sobuttonevent class contains methods for setting and getting the state of the button(s).
- SoCache.3
- The socache class is the superclass for all internal cache classes. it organizes reference counting to make it possible to share cache instances. it also organizes a list of elements that will affect the cache. if any of the elements have changed since the cache was created, the cache is invalid.
- SoCacheElement.3
- The socacheelement class stores and manages the open caches.
- SoCacheHint.3
- The socachehint class is a node containing hints about how to cache geometry. the socachehint node is used to set up clues to the rendering subsystem about how coin should cache vertex data.
- SoCalculator.3
- General purpose calculator for floats and 3d float vectors. the socalculator uses the values from the input fields (which are either single floating point values or vectors) as variables in the free-form engine expressions and places the results on the output fields.
- SoCallback.3
- The socallback class is a node type which provides a means of setting callback hooks in the scene graph. by inserting socallback nodes in a scene graph, the application programmer can set up functions to be executed at certain points in the traversal.
- SoCallback.h.3
- Socallback.h -
- SoCallbackAction.3
- The socallbackaction class invokes callbacks at specific nodes. this action has mechanisms for tracking traversal position and traversal state. in combination with the ability to pass geometry primitives to callback actions set by the user, this does for instance make it rather straightforward to extract the geometry of a scene graph.
- SoCallbackAction.h.3
- Socallbackaction.h -
- SoCallbackList.3
- The socallbacklist is a container for callback function pointers. this list stores callback function pointers (along with user-specified extra data to pass to the callbacks) and provides a method for triggering the callback functions.
- SoCallbackList.h.3
- Socallbacklist.h -
- SoCameraKit.3
- The socamerakit class is a node kit with a transform and a camera. node kit structure (new entries versus parent class marked with arrow prefix):
- SoCenterballDragger.3
- The socenterballdragger class is a dragger you can rotate and translate. here's how the dragger looks with its default geometry in the inactive state:
- SoCenterballManip.3
- The socenterballmanip wraps an socenterballdragger for convenience.
- SoChildList.3
- The sochildlist class is a container for node children. this class does automatic notification on the parent nodes upon adding or removing children.
- SoClipPlane.3
- The soclipplane class is a node type for specifying clipping planes. a scene graph without any soclipplane nodes uses six clipping planes to define the viewing frustum: top, bottom, left, right, near and far. if you want extra clipping planes for 'slicing' the visible geometry, you can do that by using nodes of this type. geometry on the back side of the clipping plane is clipped away.
- SoClipPlaneElement.3
- The soclipplaneelement class is used to manage the clip plane stack.
- SoClipPlaneManip.3
- The soclipplanemanip class is used to manipulate clip planes.
- SoColorIndex.3
- The socolorindex class is used to specify color indices for subsequent shapes. this node should only be used in opengl color-index mode, and only when the current light model is set to solightmodel::base_color.
- SoComplexity.3
- The socomplexity class is a node type which is used to set the tradeoff between quality and performance. by inserting socomplexity nodes in the scene graph, you can control the accuracy by which complex shapes are rendered and the quality of the texture mapping used for geometry in the scene.
- SoComplexityElement.3
- The socomplexityelement class contains the current shape complexity for a graph traverser.
- SoComplexityTypeElement.3
- The socomplexitytypeelement class is yet to be documented. fixme: write doc.
- SoComposeMatrix.3
- The socomposematrix class is used to compose a matrix from miscellaneous transformations.
- SoComposeRotation.3
- The socomposerotation class is used to compose rotations from angle and axis. simple usage example:
- SoComposeRotationFromTo.3
- The socomposerotationfromto class is used to compose rotations based on from and to vectors.
- SoComposeVec2f.3
- The socomposevec2f class is used to compose 2d vectors from two floats.
- SoComposeVec3f.3
- The socomposevec3f class is used to compose 3d vectors from floats.
- SoComposeVec4f.3
- The socomposevec4f class is used to compose 4d vectors from four floats.
- SoComputeBoundingBox.3
- The socomputeboundingbox class is used to calculate a bounding box. this engine is simply a wrapper around the sogetboundingboxaction, for a convenient way of having automatic updating of some data in the scene graph which is dependent on the bounding box of some other part of the scene.
- SoConcatenate.3
- The soconcatenate class is used to concatenate several inputs into one output. takes all the values from the 10 input multivalue fields in turn and concatenates them into the multivalue output.
- SoCone.3
- The socone class is for rendering cone shapes. insert a cone shape into the scenegraph. the cone is rendered with the current material, texture and drawstyle settings (if any, otherwise the default settings are used).
- SoConeDetail.3
- The soconedetail class contains information about the parts of a socone shape. instances of this class are used for storing information about hit points on cone geometry after pick operations, and for storing information returned to tessellation callbacks.
- SoContextHandler.3
- The socontexthandler class is for now to be treated as an internal class.
- SoContextHandler.h.3
- Socontexthandler.h -
- SoConvexDataCache.3
- The soconvexdatacache class is used to cache convexified polygons. soconvexdatacache is used to speed up rendering of concave polygons by tessellating all polygons into triangles and storing the newly generated primitives in an internal cache.
- SoCoordinate3.3
- The socoordinate3 class is a node for providing coordinates to shape nodes. when encountering nodes of this type during traversal, the coordinates it contains will be put on the state stack for later use by shape nodes of types which needs coordinate sets (like sofaceset nodes or sopointset nodes).
- SoCoordinate4.3
- The socoordinate4 class is a node for providing coordinates to shape nodes. when encountering nodes of this type during traversal, the coordinates it contains will be put on the statestack for later use by shape nodes of types which needs coordinate sets (like sofaceset nodes or sopointset nodes).
- SoCoordinateElement.3
- The socoordinateelement class is yet to be documented. fixme: write doc.
- SoCounter.3
- The socounter class is an integer counter engine. the engine counts from its min value to its max value, adding the value of step each time trigger is touched.
- SoCreaseAngleElement.3
- The socreaseangleelement class stores the crease angle during a scene graph traversal.
- SoCube.3
- The socube class is for rendering cubes. insert a cube shape into the scenegraph. the cube is rendered with the current material, texture and drawstyle settings (if any, otherwise the default settings are used).
- SoCubeDetail.3
- The socubedetail class contains information about the parts of a socube shape. instances of this class are used for storing information about hit points on cone geometry after pick operations, and for storing information returned to tessellation callbacks.
- SoCullElement.3
- The socullelement class is used internally for render and pick culling. the element holds all planes the geometry should be inside, and keeps a bitflag to signal which planes need to be tested.
- SoCylinder.3
- The socylinder class is for rendering cylinder shapes. insert a cylinder shape into the scenegraph. the cylinder is rendered with the current material, texture and drawstyle settings (if any, otherwise the default settings are used).
- SoCylinderDetail.3
- The socylinderdetail class contains information about the parts of a socylinder shape. instances of this class are used for storing information about hit points on cylinder geometry after pick operations, and for storing information returned to tessellation callbacks.
- SoDB.3
- The sodb class keeps track of internal global data. this class collects various methods for initializing, setting and accessing common global data from the coin library.
- SoDB.h.3
- Sodb.h -
- SoDataSensor.3
- The sodatasensor class is the abstract base class for sensors monitoring changes in a scene graph. if you need to know when a particular entity (as a field or a node) changes, subclasses of sodatasensor can be used to monitor the entity and notify you when it changes.
- SoDebug.3
- Sodebug -
- SoDebugError.3
- The sodebugerror class is the internal debugging message passing mechanism. this class basically serves two purposes:
- SoDecimationPercentageElement.3
- The sodecimationpercentageelement class is yet to be documented. fixme: write doc.
- SoDecimationTypeElement.3
- The sodecimationtypeelement class is yet to be documented. fixme: write doc.
- SoDecomposeMatrix.3
- The sodecomposematrix class is used to decompose a matrix into simple transformations.
- SoDecomposeRotation.3
- The sodecomposerotation class is used to decompose a rotation into angle and axis.
- SoDecomposeVec2f.3
- The sodecomposevec2f class is used to decompose 2d vectors into two floats.
- SoDecomposeVec3f.3
- The sodecomposevec3f class is used to decompose 3d vectors into three floats.
- SoDecomposeVec4f.3
- The sodecomposevec4f class is used to decompose 4d vectors into four floats.
- SoDelayQueueSensor.3
- The sodelayqueuesensor class is the abstract base class for priority scheduled sensors. delay queue sensors are invoked upon various events not related to time occurrences. see documentation of subclasses to see which types of events can be surveilled by the builtin sensor types.
- SoDepthBuffer.3
- The sodepthbuffer class is a node used to control the gl depth buffer.
- SoDepthBufferElement.3
- The sodepthbufferelement controls the depth buffer settings.
- SoDetail.3
- The sodetail class is the superclass for all classes storing detailed information about particular shapes. detail information about shapes is used in relation to picking actions in coin. they typically contain the relevant information about what particular part of the shape a pick ray intersected with.
- SoDetailList.3
- The sodetaillist class is a container for pointers to sodetail objects. this list class will delete the details when destructed/truncated, or when a detail in the list is replaced by another detail. the caller is responsible for allocating the details passed to the list, but should not deallocate them since this will be handled by the list.
- SoDiffuseColorElement.3
- The sodiffusecolorelement class is yet to be documented. fixme: write doc.
- SoDirectionalLight.3
- The sodirectionallight class is a node type for specifying directional light sources. a directional light source provides a model of light sources which are at infinite distance from the geometry it illuminates, thereby having no set position and consisting of an infinite volume of parallel rays.
- SoDirectionalLightDragger.3
- The sodirectionallightdragger class provides interactive geometry for manipulating a directional light source. here's how the dragger looks with its default geometry in the inactive state:
- SoDirectionalLightManip.3
- The sodirectionallightmanip class is used to manipulate sodirectionallight nodes.
- SoDragPointDragger.3
- The sodragpointdragger class provides mechanisms for moving a point in 3d. here's how the dragger looks with its default geometry in the inactive state:
- SoDragger.3
- The sodragger class is the base class for all draggers. draggers is a mechanism used for letting the end-users of your application code interact with elements in 3d, by scaling, rotating or translating geometry or other instances in the scene (like cameras or lightsources).
- SoDragger.h.3
- Sodragger.h -
- SoDrawStyle.3
- The sodrawstyle class specificies common rendering properties for shapes. use sodrawstyle nodes to influence how shape nodes following them in the scenegraph will be rendered. this node type have fields to help decide how certain aspects of point-based shapes, line-based shapes and filled shape primitives are rendered.
- SoDrawStyleElement.3
- The sodrawstyleelement class is yet to be documented. fixme: write doc.
- SoElapsedTime.3
- The soelapsedtime class is a controllable time source engine. the additional functionality provided by this engine versus just connecting to the realtime global field is the ability to control the speed of the time source plus logic to reset, stop and restart it.
- SoElement.3
- Soelement is the abstract base class for all elements.
- SoEmissiveColorElement.3
- The soemissivecolorelement class is yet to be documented. fixme: write doc.
- SoEnabledElementsList.3
- The soenabledelementslist class is a container for type info for element types that are enabled in actions. this class is probably not interesting for the application programmer.
- SoEngine.3
- Soengine is the base class for coin engines. engines enables the application programmers to make complex connections between fields.
- SoEngineList.3
- The soenginelist class is a container for soengine objects. as this class inherits sobaselist, referencing and dereferencing will default be done on the objects at append(), remove(), insert() etc.
- SoEngineOutput.3
- The soengineoutput class is the output slots in soengine instances. soengineoutput has methods for convenient handling of the connections made from soengine objects to sofield objects.
- SoEngineOutputData.3
- The soengineoutputdata class is a container for a prototype set of outputs. this class is instantiated once for each class of objects which use outputs, and which needs to be able to import and export them.
- SoEngineOutputList.3
- The soengineoutputlist class is a container for soengineoutput objects.
- SoEnvironment.3
- The soenvironment class is a node for specifying global rendering parameters. this node type provides the application programmer with the ability to set global parameters influencing lighting and fog.
- SoEnvironmentElement.3
- The soenvironmentelement class is yet to be documented. fixme: write doc.
- SoError.3
- The soerror class is the base class for all the error handling classes. the default error handler just prints messages on the standard error output channel, but this can be overridden by client applications.
- SoEvent.3
- The soevent class is the base class for all coin events. coin contains its own set of event classes, independent of the underlying window system.
- SoEventCallback.3
- The soeventcallback class provides functionality for catching events. use soeventcallback nodes in the scenegraph for catching user interaction events with the scenegraph's render canvas.
- SoEventCallback.h.3
- Soeventcallback.h -
- SoEventManager.3
- The soeventmanager class provides event handling for a coin3d viewer.
- SoExtSelection.3
- The soextselection class can be used for extended selection functionality. this class enables you to select geometry by specifying a lasso (a polygon) or a rectangle on screen. when objects are selected, you'll receive the same callbacks as for the soselection node.
- SoExtSelection.h.3
- Soextselection.h -
- SoFaceDetail.3
- The sofacedetail class is for storing detailed polygon information. instances of this class are used among other things for storing information about polygons after pick operations, and for storing information returned to tessellation callbacks.
- SoFaceSet.3
- The sofaceset class is used to render and organize non-indexed polygonal face data. faces are specified using the numvertices field. coordinates, normals, materials and texture coordinates are fetched in order from the current state or from the vertexproperty node if set. for example, if numvertices is set to [3, 4, 5, 3], this node would specify a triangle from coordinates 0, 1 and 2, a quad from coordinates 3, 4, 5 and 6, a polygon from coordinates 7, 8, 9, 10 and 11 and finally a triangle from coordinates 12, 13, 14.
- SoField.3
- The sofield class is the top-level abstract base class for fields. fields is the mechanism used throughout coin for encapsulating basic data types to detect changes made to them, and to provide conversion, import and export facilities.
- SoFieldContainer.3
- The sofieldcontainer class is a base class for all classes that contain fields. the classes containing fields in coin are the node and engine classes, so they are all subclasses of sofieldcontainer.
- SoFieldConverter.3
- The sofieldconverter class is the abstract base class for field converters. when fields of different types are attempted connected, the coin library tries to find a field converter class which can be inserted between them, acting as a filter converting values from the master field to values matching the type of the slave field.
- SoFieldData.3
- The sofielddata class is a container for a prototype set of fields. this class is instantiated once for each class of objects which use fields, and which needs to be able to import and export them.
- SoFieldList.3
- The sofieldlist class is a container for pointers to sofield objects.
- SoFieldSensor.3
- The sofieldsensor class detects changes to a field. attach a field to a sensor of this type to put it under surveillance, so you can act upon changes to the field.
- SoFile.3
- The sofile class is node container for another model file. this node provides a way to split your models into a set of 'component' models to include into larger 'master' files.
- SoFloatElement.3
- Sofloatelement is an abstract base class for elements that consists of a single float value. this is the superclass of elements where the new element data replaces the old data, and where the data the element stores is a simple single precision floating point value.
- SoFocalDistanceElement.3
- The sofocaldistanceelement class is yet to be documented. fixme: write doc.
- SoFont.3
- The sofont class is an appearance node for setting fonts. successive text rendering nodes (like sotext2, sotext3, soasciitext, etc) will use the font specified from an sofont node when visualizing text.
- SoFontNameElement.3
- The sofontnameelement class is yet to be documented. fixme: write doc.
- SoFontSizeElement.3
- The sofontsizeelement class is yet to be documented. fixme: write doc.
- SoFontStyle.3
- The sofontstyle class changes the appearance of fonts for text rendering nodes. successive text rendering nodes will use fonts with the style settings of this node, if a font with the given settings can be found and loaded from the system.
- SoForeignFileKit.3
- Abstract base class for foreign file format support in coin.
- SoForeignFileKit.h.3
- Soforeignfilekit.h -
- SoFragmentShader.3
- The sofragmentshader class is used for setting up fragment shader programs. see shaders in coin for more information on how to set up a scene graph with shaders.
- SoFrustumCamera.3
- The sofrustumcamera class defines a camera with a generic frustum..
- SoFullPath.3
- The sofullpath class allows examination of hidden children in paths. sopath allows only access from the head node to the first node with hidden children, but not any further.
- SoGLBigImage.3
- The soglbigimage class is used to handle 2d opengl textures of any size.
- SoGLCacheContextElement.h.3
- Soglcachecontextelement.h -
- SoGLCacheList.3
- The soglcachelist class is used to store and manage opengl caches.
- SoGLClipPlaneElement.3
- The soglclipplaneelement class is yet to be documented. fixme: write doc.
- SoGLColorIndexElement.3
- The soglcolorindexelement class sets the current opengl color. this element is only used when the opengl canvas is in colorindex mode, ie where colors for individual pixels are fetched from a color lookup table ('clut'). the usual thing to do is to set up a canvas in rgba truecolor mode.
- SoGLCoordinateElement.3
- The soglcoordinateelement class is yet to be documented. fixme: write doc.
- SoGLCubeMapImage.3
- The soglcubemapimage class is used to handle cube map textures.
- SoGLDepthBufferElement.3
- The sogldepthbufferelement controls the opengl depth buffer.
- SoGLDisplayList.3
- The sogldisplaylist class stores and manages opengl display lists. the texture_object type is not directly supported in coin. we handle textures differently in a more flexible class called soglimage, which also stores some information about the texture used when rendering. old code which use this element should not stop working though. the texture object extension will just not be used, and the texture will be stored in a display list instead.
- SoGLDrawStyleElement.3
- The sogldrawstyleelement updates the current draw style in opengl.
- SoGLDriverDatabase.3
- The sogldriverdatabase class is used for looking up broken/slow features in opengl drivers.
- SoGLEnvironmentElement.3
- The soglenvironmentelement class is for setting gl fog etc.
- SoGLImage.3
- The soglimage class is used to handle opengl 2d/3d textures.
- SoGLImage.h.3
- Soglimage.h -
- SoGLLazyElement.3
- The sogllazyelement class is meant to optimize gl rendering. this is just a wrap-around implementation for compatibility. it should (hopefully) work in the same way as the inventor class though.
- SoGLLightIdElement.3
- The sogllightidelement class is yet to be documented. fixme: write doc.
- SoGLLinePatternElement.3
- The sogllinepatternelement class is yet to be documented. fixme: write doc.
- SoGLLineWidthElement.3
- The sogllinewidthelement class changes the linewidth setting of the opengl render state. requests from the scenegraph to change the linewidth when rendering opengl line primitives will be made through this element, which forwards it to the appropriate native opengl call.
- SoGLModelMatrixElement.3
- The soglmodelmatrixelement class is yet to be documented. fixme: write doc.
- SoGLMultiTextureCoordinateElement.3
- The soglmultitexturecoordinateelement class stores the current gltexture coordinates for several units.
- SoGLMultiTextureCoordinateElement.h.3
- Soglmultitexturecoordinateelement.h -
- SoGLMultiTextureImageElement.3
- The soglmultitextureimageelement is used to control the current gl texture for texture units.
- SoGLMultiTextureMatrixElement.3
- The soglmultitexturematrixelement class is used to update the opengl texture matrix. since (for some weird reason) most opengl implementations have a very small texture matrix stack, and since the matrix stack also is broken on many opengl implementations, the texture matrix is always loaded into opengl. we do not push() and pop() matrices.
- SoGLNormalElement.3
- The soglnormalelement class is yet to be documented. fixme: write doc.
- SoGLPointSizeElement.3
- The soglpointsizeelement class changes the pointsize setting of the opengl render state. requests from the scenegraph to change the pointsize when rendering point primitives will be made through this element, which forwards it to the appropriate native opengl call.
- SoGLPolygonOffsetElement.3
- The soglpolygonoffsetelement class is yet to be documented. fixme: write doc.
- SoGLProjectionMatrixElement.3
- The soglprojectionmatrixelement class is yet to be documented. fixme: write doc.
- SoGLRenderAction.h.3
- Soglrenderaction.h -
- SoGLRenderCache.3
- The soglrendercache class is used to cache opengl calls.
- SoGLRenderPassElement.3
- The soglrenderpasselement class is yet to be documented. fixme: write doc.
- SoGLShadowCullingElement.3
- The soglshadowcullingelement class is yet to be documented. fixme: write doc.
- SoGLShapeHintsElement.3
- The soglshapehintselement class is yet to be documented. fixme: write doc.
- SoGLUpdateAreaElement.3
- The soglupdateareaelement class is yet to be documented. fixme: write doc.
- SoGLVBOElement.3
- The soglvboelement class is used to store vbo state. fixme: write doc.
- SoGLViewingMatrixElement.3
- The soglviewingmatrixelement class is used to store the current viewing matrix. the viewing matrix contains the inverse camera coordinate system matrix. the camera coordinate system is built from the field values in the current socamera (currently either soperspectivecamera or soorthographiccamera) and any transformations prior to the camera in the scene graph.
- SoGLViewportRegionElement.3
- The soglviewportregionelement class is yet to be documented. fixme: write doc.
- SoGate.3
- The sogate class is used to selectively copy values from input to output. this engine will forward values from the sogate::input field to the sogate::output field when the sogate::enable field is true.
- SoGeoCoordinate.3
- The sogeocoordinate class is used to specify a list of geographical coordinates. file format/defaults:
- SoGeoElement.3
- The sogeoelement class is yet to be documented. fixme: write doc.
- SoGeoLocation.3
- The sogeolocation class is used to georeference the following nodes. file format/defaults:
- SoGeoSeparator.3
- The sogeoseparator class is used to georeference a scene graph. file format/defaults:
- SoGeometryShader.3
- The sogeometryshader class is used for loading geometry shader programs. see shaders in coin for more information on how to set up a scene graph with shaders.
- SoGetBoundingBoxAction.3
- The sogetboundingboxaction class calculates bounding boxes for nodes and subgraphs. if this action is applied to a path or scene graph root, it will calculate the bounding box and the center point of the geometry contained within the scene.
- SoGetMatrixAction.3
- The sogetmatrixaction class is an action for accumulating the transformation matrix of a subgraph. this action makes it easy to calculate and convert to and from the global coordinate system of your scene and local coordinates of parts in a hierarchical model.
- SoGetPrimitiveCountAction.3
- The sogetprimitivecountaction class counts the primitives in a scene. apply this action to a scene if you need to know the number of primitives present in a scenegraph, or parts of a scenegraph.
- SoGlobalSimplifyAction.3
- The soglobalsimplifyaction class is for globally simplifying the geometry of a scene graph, globally.
- SoGlyph.3
- The soglyph class is used to generate and reuse font glyph bitmaps and outlines.
- SoGroup.3
- The sogroup class is a node which managed other node instances. the internal scene data structures in coin are managed as directed graphs. the graphs are built by setting up a hierarchy through the use of group nodes (either of this type, or from subclasses like soseparator) which is then traversed when applying actions (like soglrenderaction) to it.
- SoHandleBoxDragger.3
- The sohandleboxdragger class provides support for interactive scaling and translation. here's how the dragger looks with its default geometry in the inactive state:
- SoHandleBoxManip.3
- The sohandleboxmanip class wraps an sohandleboxdragger for manipulating a transformation.
- SoHandleEventAction.3
- The sohandleeventaction class distributes user events to the scene. this is the action used by the gui viewer classes to pass interaction events from the window system to the nodes in the scene graph.
- SoHeightMapToNormalMap.3
- Engine for computing a normal map from a height map.
- SoIdleSensor.3
- The soidlesensor class is a sensor which will trigger as soon as the application is idle. an soidlesensor differs from an sooneshotsensor in that it will not trigger if the delay queue processing is occurring due to the delay queue timeout, but only when the application is idle.
- SoImage.3
- The soimage class draws a 2d image on the viewport. an image can be specified either by using the image field, or by specifying a filename. if width and or height is specified, the image will be resized to match those values before it is displayed.
- SoIndexedFaceSet.3
- The soindexedfaceset class is used to handle generic indexed facesets. faces are specified using the coordindex field. each face must be terminated by a negative (-1) index. coordinates, normals, materials and texture coordinates from the current state (or from the vertexproperty node if set), can be indexed to create triangles, quads or polygons.
- SoIndexedLineSet.3
- The soindexedlineset class is used to render and otherwise represent indexed lines. the indexed counterpart of solineset. lines can specified using indices for coordinates, normals, materials and texture coordinates.
- SoIndexedMarkerSet.3
- The soindexedmarkerset class is used to display a set of bitmap markers at 3d positions. this node either uses the coordinates currently on the state (typically set up by a leading socoordinate3 node in the scenegraph) or from a sovertexproperty node attached to this node to render a set of 3d points.
- SoIndexedNurbsCurve.3
- The soindexednurbscurve class is a node for representing smooth curves. explaining nurbs is beyond the scope of this documentation. if you are unfamiliar with the principles of representing smooth curves and surfaces when doing 3d visualization, we recommend finding a good book on the subject.
- SoIndexedNurbsSurface.3
- The soindexednurbssurface class can be used to render nurbs surfaces. it is very similar to the sonurbssurface class, but controlpoints can be specified using indices.
- SoIndexedPointSet.3
- The soindexedpointset class is used to display a set of 3d points. this node either uses the coordinates currently on the state (typically set up by a leading socoordinate3 node in the scenegraph) or from a sovertexproperty node attached to this node to render a set of 3d points.
- SoIndexedShape.3
- The soindexedshape class is the superclass for all indexed vertex shapes. this is an abstract class which contains storage for four fields for indices to coordinates, normals, materials and texture coordinates for it's subclasses.
- SoIndexedTriangleStripSet.3
- The soindexedtrianglestripset class keeps data for rendering and otherwise representing triangle strips. use nodes of this type as an effective way of drawing triangles which are strung together.
- SoInfo.3
- The soinfo class is a node for holding text information. this is simply a placeholder for textual information about a scene. typically used for specifying author and copyright information in inventor format files, but can also be used for other purposes, of course.
- SoInput.3
- The soinput class is an abstraction of file import functionality. this class takes care of most of the chores of doing data import in coin. it puts a layer of abstraction over the read operations to make it transparent for the rest of the coin code whether or not we're reading from a file, from a memory buffer or from stdin.
- SoInt32Element.3
- The soint32element class is the base class for elements that simply store a 32-bit integer. this is the superclass of elements where the new element data replaces the old data, and where the data the element stores is a simple 32-bit integer value.
- SoInteraction.3
- The sointeraction class takes care of initalizing internal classes. sointeraction is present for the sole purpose of providing an interface to the initialization methods of the classes in coin which are somehow related to user interaction, like the draggers and manipulators.
- SoInteractionKit.3
- The sointeractionkit class is a base class for draggers. this nodekit class makes it possible to set surrogate paths for parts. instead of creating new geometry for the dragger, it is possible to specify an existing path in your scene to be used for interaction. all picks on this path will be handled by the dragger.
- SoInterpolate.3
- The sointerpolate class is the base class for all interpolator engines. interpolators are used to linearly interpolate between two values.
- SoInterpolateFloat.3
- The sointerpolatefloat class is used to interpolate two floating point values.
- SoInterpolateRotation.3
- The sointerpolaterotation class is used to interpolate between two rotations.
- SoInterpolateVec2f.3
- The sointerpolatevec2f class is used to interpolate between pairs of 2d vectors.
- SoInterpolateVec3f.3
- The sointerpolatevec3f class is used to interpolate between pairs of 3d vectors.
- SoInterpolateVec4f.3
- The sointerpolatevec4f class is used to interpolate between pairs of 4d vectors.
- SoIntersectingPrimitive.3
- Struct with collision information.
- SoIntersectionDetectionAction.3
- The sointersectiondetectionaction class is for detecting intersecting primitives in a scene.
- SoIntersectionDetectionAction.h.3
- Sointersectiondetectionaction.h -
- SoJackDragger.3
- The sojackdragger class is a dragger you can translate, rotate and scale. here's how the dragger looks with its default geometry in the inactive state:
- SoJackManip.3
- The sojackmanip wraps an sojackdragger for convenience.
- SoKeyboardEvent.3
- The sokeyboardevent class contains information about keyboard interaction. when the user presses any keys on the keyboard, these will be translated from a system specific event into a coin event and sent to the scenegraph by using instances of this class.
- SoLOD.3
- The solod class is used to choose a child based distance between viewer and object. the class documentation for the solod node class would be similar enough to that of solevelofdetail that we will refer you to look at that one first. it will explain the general principles of what a level-of-detail mechanism is, and why and how to use it.
- SoLabel.3
- The solabel class is a node for holding label information in a scene graph. use this node as a convenient way of labeling nodes or subgraphs within a scene graph.
- SoLazyElement.3
- The solazyelement class is used to handle material and shape properties. so[gl]lazyelement is, as the name implies, an element that is lazy about sending things to opengl. the changes are not sent to opengl until sogllazyelement::send() is called. this means that you can change the state of certain attributes several times, but the state will only be sent to opengl once.
- SoLevelOfDetail.3
- The solevelofdetail class is used to choose a child based on projected size. a level-of-detail mechanism is typically used by application programmers to assist the library in speeding up the rendering.
- SoLight.3
- The solight class is the base class for light emitting nodes. this node type is abstract and does not in itself provide any light sources to the scene, you need to use one of its subclasses.
- SoLightAttenuationElement.3
- The solightattenuationelement class is yet to be documented. fixme: write doc.
- SoLightElement.3
- The solightelement class manages the currently active light sources.
- SoLightKit.3
- The solightkit class provides a kit with a transform, a light and a shape or subgraph. node kit structure (new entries versus parent class marked with arrow prefix):
- SoLightModel.3
- The solightmodel class is a node for specifying the model for geometry lighting. use nodes of this type to set up how lighting should affect subsequent geometry in the scene.
- SoLightModelElement.3
- The solightmodelelement class is yet to be documented. fixme: write doc.
- SoLightPath.3
- The solightpath class is a light version of sopath. solightpath can be used if you only need a temporary path, and don't want the overhead that comes with an sopath (ref, unref, auditing etc).
- SoLineDetail.3
- The solinedetail class is for storing detailed 3d line information. instances of this class are used among other things for storing information about lines after pick operations, and for storing information returned to tessellation callbacks.
- SoLineHighlightRenderAction.3
- The solinehighlightrenderaction class renders selections with line highlighting. see the documentation of soboxhighlightrenderaction.
- SoLinePatternElement.3
- The solinepatternelement class is yet to be documented. fixme: write doc.
- SoLineSet.3
- The solineset class is used to render and organize non-indexed polylines. polylines are specified using the numvertices field. coordinates, normals, materials and texture coordinates are fetched in order from the current state or from the vertexproperty node if set. for example, if numvertices is set to [3, 4, 2], this node would specify a line through coordinates 0, 1 and 2, a line through coordinates 3, 4, 5 and 6, and finally a single line segment between coordinates 7 and 8.
- SoLineWidthElement.3
- The solinewidthelement class changes the linewidth setting of the render state. requests from the scenegraph to change the linewidth when rendering line primitives will be made through this element, which forwards it to the appropriate native call in the underlying rendering library.
- SoLinearProfile.3
- The solinearprofile class is a node for specifying linear profile curves. use nodes of this type if you want to set up profiles that are simply straight lines connected by control points.
- SoListener.3
- The solistener class defines listener attributes used when rendering sound. when rendering geometry, one needs to have a camera defining certain attributes related to vieweing. the solistener plays a similar role when it comes to rendering audio.
- SoListenerDopplerElement.3
- The solistenerdopplerelement holds the doppler velocity and factor of the current listener. the dopplervelocity and dopplerfactor is set by solistener nodes during audio rendering. the solistenerdopplerelement is used when the sovrmlsound nodes render themselves.
- SoListenerGainElement.3
- The solistenergainelement class stores the solistener gain during a scene graph traversal. this gain is set by solistener nodes during audio rendering. the solistenergainelement is used when the sovrmlsound nodes render themselves.
- SoListenerOrientationElement.3
- The solistenerorientationelement holds the orientation of the current listener. this orientation is set by solistener nodes and socamera nodes during audio rendering. when a solistener is visited by the soaudiorenderaction, it will add a new solistenerorientationelement to the state, holding it's orientation and with the setbylistener flag set. when a socamera is visited by soaudiorenderaction, it will add a new solistenerorientationelement only if there are no previous elements with the setbylistener flag set.
- SoListenerPositionElement.3
- The solistenerpositionelement holds the position of the current listener. this position is set by solistener nodes and socamera nodes during audio rendering. when a solistener is visited by the soaudiorenderaction, it will add a new solistenerpositionelement to the state, holding it's position and with the setbylistener flag set. when a socamera is visited by soaudiorenderaction, it will add a new solistenerpositionelement only if there are no previous elements with the setbylistener flag set.
- SoLocalBBoxMatrixElement.3
- The solocalbboxmatrixelement class is yet to be documented. fixme: write doc.
- SoLocateHighlight.3
- The solocatehighlight class highlights geometry under the cursor. note: this node is supposed to draw to the front buffer. however, in coin we always draw to the back buffer, forcing a scene redraw whenever a highlight state changes.
- SoLocation2Event.3
- The solocation2event class contains information about 2d movement events. location2 events are generated by devices capable of 2d, e.g. pointer devices -- typically computer mice. instances of this class contains information about the position of the pointer on the render area.
- SoMFBitMask.3
- The somfbitmask class is a container for a set of bitmasks. this field is used where nodes, engines or other field containers needs to store multiple bitmasks with values from an enumerated set.
- SoMFBool.3
- The somfbool class is a container for sbbool values. this field is used where nodes, engines or other field containers needs to store multiple boolean on/off or true/false values.
- SoMFColor.3
- The somfcolor class is a container for sbcolor values. this field is used where nodes, engines or other field containers needs to store multiple color values (i.e. 'red green blue' triplets).
- SoMFColorRGBA.3
- The somfcolorrgba class is a container for sbcolor4f values. this field is used where nodes, engines or other field containers needs to store multiple color values (i.e. 'red green blue' triplets).
- SoMFDouble.3
- The somfdouble class is a container for double float precision point values. this field is used where nodes, engines or other field containers needs to store a group of multiple floating point values.
- SoMFEngine.3
- The somfengine class is a container for engines. this field container stores an array of pointers to engines. it takes care of the necessary functionality for handling copy, import and export operations.
- SoMFEnum.3
- The somfenum class is a container for a set of enumerated values. this field is used where nodes, engines or other field containers needs to store values constrained to be from an enumerated set.
- SoMFFloat.3
- The somffloat class is a container for floating point values. this field is used where nodes, engines or other field containers needs to store a group of multiple floating point values.
- SoMFInt32.3
- The somfint32 class is a container for 32-bit integer values. this field is used where nodes, engines or other field containers needs to store a group of multiple 32-bit integer values.
- SoMFMatrix.3
- The somfmatrix class is a container for sbmatrix values. this field is used where nodes, engines or other field containers needs to store matrices.
- SoMFName.3
- The somfname class is a container for sbname values. this field is used where nodes, engines or other field containers needs to store arrays of names.
- SoMFNode.3
- The somfnode class is a container for nodes. this field container stores an array of pointers to nodes. it takes care of the necessary functionality for handling copy, import and export operations.
- SoMFPath.3
- The somfpath class is a container for paths. this field container stores an array of pointers to paths. it takes care of the necessary functionality for handling copy, import and export operations.
- SoMFPlane.3
- The somfplane class is a container for sbplane values. this field is used where nodes, engines or other field containers needs to store multiple 3d plane definitions.
- SoMFRotation.3
- The somfrotation class is a container for sbrotation values. this field is used where nodes, engines or other field containers needs to store multiple rotation definitions.
- SoMFShort.3
- The somfshort class is a container for short integer values. this field is used where nodes, engines or other field containers needs to store a group of multiple short integer values.
- SoMFString.3
- The somfstring class is a container for sbstring values. this field is used where nodes, engines or other field containers needs to store arrays of strings.
- SoMFTime.3
- The somftime class is a container for sbtime values. this field is used where nodes, engines or other field containers needs to store multiple time representations.
- SoMFUInt32.3
- The somfuint32 class is a container for 32-bit unsigned integer values. this field is used where nodes, engines or other field containers needs to store a group of multiple 32-bit unsigned integer values.
- SoMFUShort.3
- The somfushort class is a container for unsigned short integer values. this field supports application data sharing through a setvaluespointer() method. see somfield documentation for information on how to use this function.
- SoMFVec2b.3
- The somfvec2b class is a container for sbvec2b vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with two elements.
- SoMFVec2d.3
- The somfvec2d class is a container for sbvec2d vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with two elements.
- SoMFVec2f.3
- The somfvec2f class is a container for sbvec2f vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with two elements.
- SoMFVec2i32.3
- The somfvec2i32 class is a container for sbvec2i32 vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with two elements.
- SoMFVec2s.3
- The somfvec2s class is a container for sbvec2s vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with two elements.
- SoMFVec3b.3
- The somfvec3b class is a container for sbvec3b vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with three elements.
- SoMFVec3d.3
- The somfvec3d class is a container for sbvec3d vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with three elements.
- SoMFVec3f.3
- The somfvec3f class is a container for sbvec3f vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with three elements.
- SoMFVec3i32.3
- The somfvec3i32 class is a container for sbvec3i32 vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with three elements.
- SoMFVec3s.3
- The somfvec3s class is a container for sbvec3s vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with three elements.
- SoMFVec4b.3
- The somfvec4b class is a container for sbvec4b vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMFVec4d.3
- The somfvec4d class is a container for sbvec4d vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMFVec4f.3
- The somfvec4f class is a container for sbvec4f vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMFVec4i32.3
- The somfvec4i32 class is a container for sbvec4i32 vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMFVec4s.3
- The somfvec4s class is a container for sbvec4s vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMFVec4ub.3
- The somfvec4ub class is a container for sbvec4ub vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMFVec4ui32.3
- The somfvec4ui32 class is a container for sbvec4ui32 vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMFVec4us.3
- The somfvec4us class is a container for sbvec4us vectors. this field is used where nodes, engines or other field containers needs to store an array of vectors with four elements.
- SoMField.3
- The somfield class is the base class for fields which can contain multiple values. all field types which may contain more than one member value inherits this class. somfield is an abstract class.
- SoMarkerSet.3
- The somarkerset class displays a set of 2d bitmap markers in 3d. this node uses the coordinates currently on the state (or in the vertexproperty field) in order. the numpoints field specifies the number of points in the set.
- SoMaterial.3
- The somaterial class is a node type for setting up material values for scene geometry. after traversing an somaterial node, subsequent shape nodes with geometry in the scene graph will use values from the material 'pool' of the traversal state set up from nodes of this type.
- SoMaterialBinding.3
- The somaterialbinding class is a node for setting up how materials are mapped to shapes. the material binding specified in nodes of this type decides how the material values of somaterial nodes are mapped on the builtin geometry shape nodes.
- SoMaterialBindingElement.3
- The somaterialbindingelement class is yet to be documented. fixme: write doc.
- SoMaterialBundle.3
- The somaterialbundle class simplifies material handling. every shape node should create (on the stack) an instance of this class and call sendfirst() before sending anything to gl. during rendering, send() should be used to send material values to gl.
- SoMatrixTransform.3
- The somatrixtransform class is a transformation node. this class is the most flexible transformation node, as you can use it to accumulate any kind of transformation matrix on top of the current model transformation matrix.
- SoMemoryError.3
- The somemoryerror class is used to inform of problems with memory allocation. modern operating systems takes care of handling most out of memory conditions for you, but in certain situations it can be wise to do some manual checking and intervention. this class is provided as an aid to help out in these situations.
- SoModelMatrixElement.3
- The somodelmatrixelement class is used to manage the current transformation. somodelmatrixelement contains the object-to-world matrix.
- SoMotion3Event.3
- The somotion3event class contains information about 3d movement events. motion3 events are generated by devices capable of '3d motion', for instance spaceballs. instances of this class contains information about these devices' translations and rotations in all 3 dimensions.
- SoMouseButtonEvent.3
- The somousebuttonevent class contains information about mousebutton interaction. when the user presses any buttons on the mouse, these will be translated from a system specific event into a coin event and sent to the scenegraph by using instances of this class.
- SoMultiTextureCoordinateElement.h.3
- Somultitexturecoordinateelement.h -
- SoMultiTextureEnabledElement.3
- The somultitextureenabledelement class is an element which stores whether texturing is enabled or not. be aware that this class is an extension for coin, and it is not available in the original sgi open inventor v2.1 api.
- SoMultiTextureImageElement.3
- The somultitextureimageelement class is yet to be documented. fixme: write doc.
- SoMultiTextureMatrixElement.3
- The somultitexturematrixelement class is used to manage the texture matrix stack for texture units 0. the texture matrix is used to transform texture coordinates before being used to map textures onto polygons.
- SoMultipleCopy.3
- The somultiplecopy class redraws it's children multiple times at different transformations. the somultiplecopy group node duplicates it's children nodes / subgraphs without using additional memory resources.
- SoNode.3
- The sonode class is the base class for nodes used in scene graphs. coin is a retained mode 3d visualization library (built on top of the immediate mode opengl library). 'retained mode' means that instead of passing commands to draw graphics primitives directly to the renderer, you build up data structures which are rendered by the library on demand.
- SoNodeEngine.3
- Sonodeengine is the base class for coin node engines. node engines have the same functionality as normal engines, except that they inherit sonode, which makes it possible to insert node engines in the scene graph.
- SoNodeKit.3
- The sonodekit class is used to initialize the nodekit classes. the sole function of sonodekit is to be just a placeholder for the toplevel initialization code for all nodekit-related classes.
- SoNodeKitDetail.3
- The sonodekitdetail class is yet to be documented. when a pick action is executed and geometry within a nodekit is hit, the nodekit generates an sonodekitdetail object which contains information about the specific part inside the nodekit hit by the pick ray.
- SoNodeKitListPart.3
- The sonodekitlistpart class is a container node. this node is basically just a container node with these differences versus the other group nodes:
- SoNodeKitPath.3
- The sonodekitpath class is a path that contains only nodekit nodes. all other nodes are hidden from the user.
- SoNodeList.3
- The sonodelist class is a container for pointers to sonode objects.
- SoNodeSensor.3
- The sonodesensor class detects changes to nodes. attach a node to a sensor of this type to put it under surveillance, so you can act upon changes to the node.
- SoNodekitCatalog.3
- The sonodekitcatalog class is a container for nodekit layouts. nodekits store all their hierarchical layout information and part information in instances of this class.
- SoNonIndexedShape.3
- The sononindexedshape class is the superclass for all non-indexed vertex based shapes. it contains the (now obsoleted) startindex field and a convenience method for calculating the bounding box.
- SoNormal.3
- The sonormal class is a node for providing normals to the state. coin will automatically calculate normals for you if no sonormal nodes are present in the scene graph, but explicitly setting normals is useful for at least two purposes: 1) a potential increase in performance, 2) you can calculate and use 'incorrect' normals to do various special effects.
- SoNormalBinding.3
- The sonormalbinding class is a node for specifying normal vector bindings. use nodes of this type to specify how to map normal vectors from sonormal nodes in the scene graph to shape nodes.
- SoNormalBindingElement.3
- The sonormalbindingelement is yet to be documented. fixme: write doc.
- SoNormalBundle.3
- The sonormalbundle class simplifies normal handling. this class is currently not used in coin but is provided for api compatibility.
- SoNormalCache.3
- The sonormalcache class is used to hold cached normals. as an extension to the original sgi open inventor v2.1 api, it is also possible to generate normals using this class.
- SoNormalElement.3
- The sonormalelement class is yet to be documented. fixme: write doc.
- SoNormalGenerator.3
- The sonormalgenerator class is used to generate normals. fixme: document properly.
- SoNotList.3
- The sonotlist class is a list of sonotrec notification records.
- SoNotRec.3
- The sonotrec class specifies records for notification lists.
- SoNurbsCurve.3
- The sonurbscurve class is a node for representing smooth curves. a general explanation of nurbs is beyond the scope of the coin documentation. for detailed information, refer to the specialized literature on the topic (for example 'an introduction to nurbs: with historical perspective' by david f. rogers). a basic overview of curve and surface rendering using nurbs can be found in chapter 8 of 'the inventor mentor'.
- SoNurbsProfile.3
- The sonurbsprofile class is a node for specifying smooth profile curves. use nodes of this type if you want to set up profiles that are smooth curves.
- SoNurbsSurface.3
- The sonurbssurface class is used to render smooth surfaces. a general explanation of nurbs is beyond the scope of the coin documentation. for detailed information, refer to the specialized literature on the topic (for example 'an introduction to nurbs: with historical perspective' by david f. rogers). a basic overview of curve and surface rendering using nurbs can be found in chapter 8 of 'the inventor mentor'.
- SoOffscreenRenderer.3
- The sooffscreenrenderer class is used for rendering scenes in offscreen buffers. if you want to render to a memory buffer instead of an on-screen opengl context, use this class. rendering to a memory buffer can be used to generate texture maps on-the-fly, or for saving snapshots of the scene to disk files (as pixel bitmaps or as postscript files for sending to a postscript-capable printer).
- SoOnOff.3
- The soonoff engine is a simple on/off switch.
- SoOneShot.3
- The sooneshot class is a timer that runs for a configurable time and then stops.
- SoOneShotSensor.3
- The sooneshotsensor class is a sensor which will trigger once. since sooneshotsensor is a subclass of sodelayqueuesensor, it will trigger as soon as either the run-time system is idle, or if it is continually busy it will trigger within a fixed amount of time (this is by default 1/12th of a second, see sosensormanager::setdelaysensortimeout()).
- SoOrthographicCamera.3
- The soorthographiccamera class defines a camera node with orthographic rendering. orthographic rendering will not give a particularly realistic impression of the scene, but non-realistic rendering is for various reasons widely used in applications for e.g. computer aided design.
- SoOutput.3
- The sooutput class is an abstraction of an output stream. sooutput offers the ability to write basic types to a file or a memory buffer in either ascii or binary format.
- SoOutput.h.3
- Sooutput.h -
- SoOverrideElement.3
- The sooverrideelement maintains a list of overridable elements and a list over which elements should be overridden. only certain elements can be overridden.
- SoPackedColor.3
- The sopackedcolor class is a node for setting diffuse and transparency material values. this node provides a convenient way of setting diffuse colors and transparency values with packed 32-bit rgba vectors.
- SoPath.3
- The sopath class is a container class for traversal path descriptions. sopath objects contain a list of sonode pointers and a list of child indices. indices are necessary to disambiguate situations where a node uses the same node as a child multiple times.
- SoPathList.3
- The sopathlist class is a container for pointers to sopath objects. as this class inherits sobaselist, referencing and dereferencing will default be done on the objects at append(), remove(), insert() etc.
- SoPathSensor.3
- The sopathsensor class detects changes to paths. if you need to know when a path changes (i.e. nodes in the path has been removed, or new nodes is added), use this sensor to get a notification.
- SoPathSwitch.3
- The sopathswitch class traverses only when current path matches a configurable path. file format/defaults:
- SoPendulum.3
- The sopendulum class is used to create oscillating rotations. a smooth transition between rotation0 and rotation1 is created using a cosine function. in the beginning of the cycle, rotation0 is used. halfway through the cycle, the resulting rotation equals rotation1, and at the end of the cycle, we're at rotation0 again.
- SoPerspectiveCamera.3
- The soperspectivecamera class defines a camera node with perspective rendering. for realistic looking 3d scene, the geometry should be rendered with perspective calculations. use this camera type to accomplish this.
- SoPickAction.3
- The sopickaction class is the base class for picking actions. the basis for all interaction features that coin provides for the application programmer is the pick actions. draggers, manipulators, soselection nodes, etc all make use of the functionality provided by the pick actions for selecting and manipulating scene geometry in various ways.
- SoPickRayElement.3
- The sopickrayelement class is yet to be documented. fixme: write doc.
- SoPickStyle.3
- The sopickstyle class is a node for setting up how to do picking. by default, all geometry in a scene is available for picking. upon writing applications with interaction possibilities, this is often not what you want. to exclude parts of the scene graph from pick actions, use the sopickstyle::unpickable.
- SoPickStyleElement.3
- The sopickstyleelement is yet to be documented. fixme: write doc.
- SoPickedPoint.3
- The sopickedpoint class is used for specifying picked points. it holds miscellaneous information about the picked point, such as position, normal, texture coordinate and material index in the current material. it might also hold detail information (an sodetail subclass) for every node in the picked path.
- SoPickedPointList.3
- The sopickedpointlist class is a container for pointers to sopickedpoint objects. this list class will delete the picked points when destructed/truncated, or when a picked point in the list is replaced by another picked point the caller is responsible for allocating the picked points passed to the list, but should not deallocate them since this will be handled by the list.
- SoPointDetail.3
- The sopointdetail class is for storing detailed information for a single 3d point. instances of this class are used among other things for storing information about the vertices of lines and polygons after pick operations, and for storing information returned to tessellation callbacks.
- SoPointLight.3
- The sopointlight class is a node type for light sources. pointlights emits light equally in all directions from a specified 3d location.
- SoPointLightDragger.3
- The sopointlightdragger class provides interactive geometry for manipulating a point light source. here's how the dragger looks with its default geometry in the inactive state:
- SoPointLightManip.3
- The sopointlightmanip class is used to manipulate point light nodes.
- SoPointSet.3
- The sopointset class is used to display a set of 3d points. this node either uses the coordinates currently on the state (typically set up by a leading socoordinate3 node in the scenegraph) or from a sovertexproperty node attached to this node to render a set of 3d points.
- SoPointSizeElement.3
- The sopointsizeelement changes the pointsize setting of the render state. requests from the scenegraph to change the pointsize when rendering point primitives will be made through this element.
- SoPolygonOffset.3
- The sopolygonoffset class is a node type for 'layering' rendering primitives. a common problem with realtime 3d rendering systems is that rendered primitives which are at approximately the same depth with regard to the camera viewpoint will appear to flicker. i.e.: from one angle one primitive will appear to be closer, while at another angle, another primitive will appear closer. when this happens, the rendered graphics at that part of the scene will of course look a lot less visually pleasing.
- SoPolygonOffsetElement.3
- The sopolygonoffsetelement class is yet to be documented. fixme: write doc.
- SoPrimitiveVertex.3
- The soprimitivevertex class represents a single vertex of a generated primitive. instances of soprimitivevertex are constructed when generating primitive data, primarily during an socallbackaction traversal. depending on the context the vertex could represent a single 3d point, one of the two vertices in a line or one of the three vertices in a triangle.
- SoPrimitiveVertexCache.3
- Soprimitivevertexcache -
- SoProfile.3
- The soprofile class is the abstract superclass for profile definitions. node subclasses of soprofile specifies profiles for extruded 3d text and nurbs surface data.
- SoProfileCoordinate2.3
- The soprofilecoordinate2 class is a node specifying a set of 2d coordinates for profiles. use nodes of this type to provide coordinates to profiles.
- SoProfileCoordinate3.3
- The soprofilecoordinate3 class is a node specifying a set of 3d coordinates for profiles. use nodes of this type to provide coordinates to profiles.
- SoProfileCoordinateElement.3
- The soprofilecoordinateelement class is yet to be documented. fixme: write doc.
- SoProfileElement.3
- The soprofileelement class is yet to be documented. fixme: write doc.
- SoProfiler.3
- Main static class for initializing the scene graph profiling subsystem.
- SoProfilerElement.3
- The soprofilerelement element class is for registering statistics during scene graph traversals.
- SoProfilerStats.3
- The soprofilerstats class is a node for exposing profiling results gathered by soprofilerelement.
- SoProfilingReportGenerator.3
- Convenience report generator functionality.
- SoProfilingReportGenerator.h.3
- Soprofilingreportgenerator.h -
- SoProto.3
- The soproto class handles proto definitions.
- SoProto.h.3
- Soproto.h -
- SoProtoInstance.3
- The soprotoinstance class handles proto instances.
- SoQuadMesh.3
- The soquadmesh class is used to render and optimize a quadrilateral mesh. this node uses the coordinates in order, either from the state or from the soquadmesh::vertexproperty node, to construct a quadrilateral mesh.
- SoRayPickAction.3
- The soraypickaction class does ray intersection with scene graphs. for interaction with the scene graph geometry, it is necessary to be able to do intersection testing for rays. this functionality is provided by the soraypickaction class.
- SoReadError.3
- The soreaderror class is used during model import operations. during model file import, this class will be used to output any error or warning messages.
- SoRenderManager.3
- The sorendermanager class is used for controlling the rendering of a scene graph.
- SoRenderManager.h.3
- Sorendermanager.h -
- SoReorganizeAction.3
- The soreorganizeaction class reorganizes your scene graph to optimize traversal/rendering.
- SoReplacedElement.3
- The soreplacedelement class is an abstract element superclass. this is the superclass of all elements where the new element data replaces the old data, and where the data the element stores is not just a simple float or integer value.
- SoResetTransform.3
- The soresettransform class is a node type which makes it possible to 'nullify' state during traversal. soresettransform is useful for setting up geometry in the scene graph which will not be influenced by the transformation nodes before it during traversal.
- SoRotateCylindricalDragger.3
- The sorotatecylindricaldragger class is for rotating geometry around a single axis. here's how the dragger looks with its default geometry in the inactive state:
- SoRotateDiscDragger.3
- The sorotatediscdragger class is for rotating geometry around a single axis. here's how the dragger looks with its default geometry in the inactive state:
- SoRotateSphericalDragger.3
- The sorotatesphericaldragger class is for rotating geometry in any direction. here's how the dragger looks with its default geometry in the inactive state:
- SoRotation.3
- The sorotation class specifies a rotation transformation. use nodes of this class type to re-orient geometry data within the scene graph.
- SoRotationXYZ.3
- The sorotationxyz class is a node type for specifying rotation around a particular axis. application programmers can use nodes of this type instead of sorotation nodes for simplicity and clarity if the rotation will only happen around one particular axis.
- SoRotor.3
- The sorotor class is a node used to animate rotations. insert this node in your hierarchy to apply a continuous rotation to some geometry. since this node inherits the sorotation node, rotation is restricted around the axis specified in the rotation field.
- SoSFBitMask.3
- The sosfbitmask class is a container for a set of bit flags. this field is used where nodes, engines or other field containers needs to store one particular set of bit flags from an enumerated set.
- SoSFBool.3
- The sosfbool class is a container for an sbbool value. this field is used where nodes, engines or other field containers needs to store a boolean on/off or true/false value, like for instance as the 'on' field of the sopointlight, sospotlight and sodirectionallight node classes.
- SoSFBox2d.3
- The sosfbox2d class is a container for an sbbox2d vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFBox2f.3
- The sosfbox2f class is a container for an sbbox2f vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFBox2i32.3
- The sosfbox2i32 class is a container for an sbbox2i32 vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFBox2s.3
- The sosfbox2s class is a container for an sbbox2s vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFBox3d.3
- The sosfbox3d class is a container for an sbbox3d vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFBox3f.3
- The sosfbox3f class is a container for an sbbox3f vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFBox3i32.3
- The sosfbox3i32 class is a container for an sbbox3i32 vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFBox3s.3
- The sosfbox3s class is a container for an sbbox3s vector. this field is used where nodes, engines or other field containers needs to store a box.
- SoSFColor.3
- The sosfcolor class is a container for an sbcolor value. this field is used where nodes, engines or other field containers needs to store a single color value (i.e. red + green + blue).
- SoSFColorRGBA.3
- The sosfcolorrgba class is a container for an sbcolor4f value. this field is used where nodes, engines or other field containers needs to store a single color value (i.e. red + green + blue + alpha).
- SoSFDouble.3
- The sosfdouble class is a container for a double precision floating point value. this field is used where nodes, engines or other field containers needs to store a single floating point value.
- SoSFEngine.3
- The sosfengine class is a container for a single engine. this field container stores a pointer to a coin engine. it takes care of the necessary functionality for handling copy, import and export operations.
- SoSFEnum.3
- The sosfenum class is a container for an enum value. this field is used where nodes, engines or other field containers needs to store one particular value out of an enumerated set.
- SoSFFloat.3
- The sosffloat class is a container for a floating point value. this field is used where nodes, engines or other field containers needs to store a single floating point value.
- SoSFInt32.3
- The sosfint32 class is a container for a 32-bit integer value. this field is used where nodes, engines or other field containers needs to store a single 32-bit integer value.
- SoSFMatrix.3
- The sosfmatrix class is a container for an sbmatrix. this field is used where nodes, engines or other field containers needs to store a 4x4 matrix.
- SoSFName.3
- The sosfname class is a container for an sbname. this field is used where nodes, engines or other field containers needs to store a single name string.
- SoSFNode.3
- The sosfnode class is a container for a single node. this field container stores a pointer to a coin node. it takes care of the necessary functionality for handling copy, import and export operations.
- SoSFPath.3
- The sosfpath class is a container for a single path. this field container stores a pointer to a coin path. it takes care of the necessary functionality for handling copy, import and export operations.
- SoSFPlane.3
- The sosfplane class is a container for an sbplane value. this field is used where nodes, engines or other field containers needs to store a single definition of a 3d plane.
- SoSFRotation.3
- The sosfrotation class is a container for an sbrotation. this field is used where nodes, engines or other field containers needs to store a single rotation definition.
- SoSFShort.3
- The sosfshort class is a container for a short integer value. this field is used where nodes, engines or other field containers needs to store a single short integer value.
- SoSFString.3
- The sosfstring class is a container for an sbstring. this field is used where nodes, engines or other field containers needs to store a single string.
- SoSFTime.3
- The sosftime class is a container for an sbtime value. this field is used where nodes, engines or other field containers needs to store a single time representation.
- SoSFTrigger.3
- The sosftrigger class is the 'void' class used for detecting field changes. connect this field to a master field (or engine output) to detect when the master field changes its value.
- SoSFUInt32.3
- The sosfuint32 class is a container for a 32-bit unsigned integer value. this field is used where nodes, engines or other field containers needs to store a single 32-bit unsigned integer value.
- SoSFUShort.3
- The sosfushort class is a container for a unsigned short integer value. this field is used where nodes, engines or other field containers needs to store a single short unsigned integer value.
- SoSFVec2b.3
- The sosfvec2b class is a container for an sbvec2b vector. this field is used where nodes, engines or other field containers needs to store a single vector with two elements.
- SoSFVec2d.3
- The sosfvec2d class is a container for an sbvec2d vector. this field is used where nodes, engines or other field containers needs to store a single vector with two elements.
- SoSFVec2f.3
- The sosfvec2f class is a container for an sbvec2f vector. this field is used where nodes, engines or other field containers needs to store a single vector with two elements.
- SoSFVec2i32.3
- The sosfvec2i32 class is a container for an sbvec2i32 vector. this field is used where nodes, engines or other field containers needs to store a single vector with two elements.
- SoSFVec2s.3
- The sosfvec2s class is a container for an sbvec2s vector. this field is used where nodes, engines or other field containers needs to store a single vector with two elements.
- SoSFVec3b.3
- The sosfvec3b class is a container for an sbvec3b vector. this field is used where nodes, engines or other field containers needs to store a single vector with three elements.
- SoSFVec3d.3
- The sosfvec3d class is a container for an sbvec3d vector. this field is used where nodes, engines or other field containers needs to store a single vector with three elements.
- SoSFVec3f.3
- The sosfvec3f class is a container for an sbvec3f vector. this field is used where nodes, engines or other field containers needs to store a single vector with three elements.
- SoSFVec3i32.3
- The sosfvec3i32 class is a container for an sbvec3i32 vector. this field is used where nodes, engines or other field containers needs to store a single vector with three elements.
- SoSFVec3s.3
- The sosfvec3s class is a container for an sbvec3s vector. this field is used where nodes, engines or other field containers needs to store a single vector with three elements.
- SoSFVec4b.3
- The sosfvec4b class is a container for an sbvec4b vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSFVec4d.3
- The sosfvec4d class is a container for an sbvec4d vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSFVec4f.3
- The sosfvec4f class is a container for an sbvec4f vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSFVec4i32.3
- The sosfvec4i32 class is a container for an sbvec4i32 vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSFVec4s.3
- The sosfvec4s class is a container for an sbvec4s vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSFVec4ub.3
- The sosfvec4ub class is a container for an sbvec4ub vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSFVec4ui32.3
- The sosfvec4ui32 class is a container for an sbvec4ui32 vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSFVec4us.3
- The sosfvec4us class is a container for an sbvec4us vector. this field is used where nodes, engines or other field containers needs to store a single vector with four elements.
- SoSField.3
- The sosfield class is the base class for fields which contains only a single value. all field types which should always contain only a single member value inherits this class. sosfield is an abstract class.
- SoSTLFileKit.3
- Sostlfilekit is a class for using stl files with coin.
- SoScXMLDollyTarget.3
- Scxml event target service for zoom-behaviour.
- SoScXMLEvent.3
- Adds an soevent holder to the scxmlevent base.
- SoScXMLFlightControlTarget.3
- Scxml navigation service for typical flight motions.
- SoScXMLMiscTarget.3
- Some misc navigation utility functions.
- SoScXMLMotionTarget.3
- To be used in parallel with other non-moving targets when parallel states are implemented.
- SoScXMLNavigation.3
- Static class for some static init/cleanup/synchronization functions.
- SoScXMLNavigationTarget.3
- Base class for navigation system scxml event target services
- SoScXMLNavigationTarget.h.3
- Soscxmlnavigationtarget.h -
- SoScXMLPanTarget.3
- Navigation system event target for panning operations.
- SoScXMLRotateTarget.3
- Navigation system event target for rotating operations.
- SoScXMLSeekTarget.3
- Navigation system event target for seekmotion operations.
- SoScXMLSpinTarget.3
- Navigation system event target for spinning operations.
- SoScXMLStateMachine.3
- Integration level for using coin events with scxml-based state machines.
- SoScXMLZoomTarget.3
- Scxml event target service for zoom-behaviour.
- SoScale.3
- The soscale class is a node type for scaling scene graph geometry. use nodes of this type to apply scaling operations during scenegraph traversals for e.g. rendering. scale values are specified in a triple-value vector, with one scale factor for each of the 3 principal axes.
- SoScale1Dragger.3
- The soscale1dragger class provides a mechanism for the end-user to scale in one dimension. here's how the dragger looks with its default geometry in the inactive state:
- SoScale2Dragger.3
- The soscale2dragger class provides a mechanism for the end-user to scale in two dimensions. here's how the dragger looks with its default geometry in the inactive state:
- SoScale2UniformDragger.3
- The soscale2uniformdragger class provides a mechanism for the end-user to scale in two dimensions. here's how the dragger looks with its default geometry in the inactive state:
- SoScaleUniformDragger.3
- The soscaleuniformdragger class provides a mechanism for the end-user to scale in three dimensions. here's how the dragger looks with its default geometry in the inactive state:
- SoSceneKit.3
- The soscenekit class collects node kits needed to set up a scene: camera, light and shapes. node kit structure (new entries versus parent class marked with arrow prefix):
- SoSceneManager.3
- The soscenemanager class provides the main interface between the scene graph and the gui toolkit. the renderarea class from the gui toolkit you are using uses this class as the interface against the scene graph. event handling and providing 'hooks' to do rendering are the main functions of the class.
- SoSceneManager.h.3
- Soscenemanager.h -
- SoSceneTexture2.3
- The soscenetexture2 class is used to create a 2d texture from a coin scene graph. lets the rendering of a scene graph be specified as a texture image to be used in another scene graph. set up the scene graph used for a texture in the soscenetexture2::scene field.
- SoSceneTextureCubeMap.3
- Renders a scene into a texture cube map.
- SoSearchAction.3
- The sosearchaction class provides methods for searching through scene graphs. nodes can be searched for by pointer, type, and name, or a combination of those criteria. types can be interpreted as exact types, or the type can match nodes derived from it. every single node can be searched, or normal traversal rules can be followed when searching (this is especially important to note with regard to switch nodes).
- SoSelectOne.3
- The soselectone class is used to select one value from a set of values. the output field will be the index'th value of the input multivalue field.
- SoSelection.3
- The soselection class manages a list of selected nodes. inserting an soselection node in your scene graph enables you to let the user 'pick' with the left mousebutton to select/deselect objects below the soselection node.
- SoSelection.h.3
- Soselection.h -
- SoSensor.3
- The sosensor class is the abstract base class for all sensors. sensors is a mechanism in coin for scheduling jobs to be run upon specific events. the events in question could be particular points in time, or changes to entities in the scene graph.
- SoSensor.h.3
- Sosensor.h -
- SoSensorManager.3
- The sosensormanager class handles the sensor queues. there are two major sensor types in coin, 'delay' sensors and 'timer' sensors:
- SoSeparator.3
- The soseparator class is a state-preserving group node. subgraphs parented by soseparator nodes will not affect the state, as they push and pop the traversal state before and after traversal of its children.
- SoSeparatorKit.3
- The soseparatorkit class provides a typical set of nodes to influence a shape subgraph. node kit structure (new entries versus parent class marked with arrow prefix):
- SoShaderObject.3
- Soshaderobject -
- SoShaderParameter.3
- Soshaderparameter -
- SoShaderProgram.3
- The soshaderprogram class is used to specify a set of vertex/geometry/fragment objects.
- SoShaderProgram.h.3
- Soshaderprogram.h -
- SoShadowCulling.3
- The soshadowculling class is a node for setting the shadow style on nodes.
- SoShadowDirectionalLight.3
- The soshadowdirectionallight class is a node for setting up a directional light which casts shadows.
- SoShadowGroup.3
- The soshadowgroup node is a group node used for shadow rendering. children of this node can recieve shadows, and cast shadows on other children. use the soshadowstyle node to control shadow casters and shadow receivers.
- SoShadowSpotLight.3
- The soshadowspotlight class is a node for setting up a spot light which casts shadows.
- SoShadowStyle.3
- The soshadowstyle class is a node for setting the shadow style on nodes.
- SoShadowStyleElement.3
- The soshadowstyleelement class is yet to be documented. fixme: write doc.
- SoShape.3
- The soshape class is the superclass for geometry shapes. the node types which have actual geometry to render inherits this class. for convenience, the soshape class contains various common code used by the subclasses.
- SoShapeHints.3
- The soshapehints class is a node containing hints about how to render geometry. the soshapehints node is used to set up clues to the rendering subsystem about how particular aspects of the subsequent geometry in the scene graph should be drawn.
- SoShapeKit.3
- The soshapekit class provides templates to insert what is usually needed for shape nodes. node kit structure (new entries versus parent class marked with arrow prefix):
- SoShapeSimplifyAction.3
- The soshapesimplifyaction class replaces complex primitives with simplified polygon representations.
- SoShapeStyleElement.3
- The soshapestyleelement class is yet to be documented. fixme: write doc.
- SoShininessElement.3
- The soshininesselement class is yet to be documented. fixme: write doc.
- SoShuttle.3
- The soshuttle class is used to oscillate between two translations. a smooth transition between translation0 and translation1 is created using a cosine function. in the beginning of the cycle, translation0 is used. halfway through the cycle, the resulting translation equals translation1, and at the end of the cycle, we're at translation0 again.
- SoSimplifyAction.3
- The sosimplifyaction class is the base class for the simplify action classes.
- SoSoundElement.3
- The sosoundelement is used for optimizing audio rendering and for turning off inactive sovrmlsound nodes.
- SoSpaceballButtonEvent.3
- The sospaceballbuttonevent class contains information about spaceball button interaction. when the user presses any buttons on a spaceball device, these will be translated from a system specific event into a coin event and sent to the scenegraph by using instances of this class.
- SoSpecularColorElement.3
- The sospecularcolorelement is yet to be documented. fixme: write doc.
- SoSphere.3
- The sosphere class is for rendering sphere shapes. renders a sphere with the size given by the sosphere::radius field. the sphere is rendered with the current material, texture and drawstyle settings (if any, otherwise the default settings are used).
- SoSpotLight.3
- The sospotlight class is a node type for light sources with a cone shaped lightvolume. spotlights are light sources with a position and a direction. they can be thought of as a pointlight with a lampshade.
- SoSpotLightDragger.3
- The sospotlightdragger class provides interactive geometry for manipulating a spotlight. here's how the dragger looks with its default geometry in the inactive state:
- SoSpotLightManip.3
- The sospotlightmanip class is used to manipulate spot light nodes.
- SoState.3
- The sostate class manages the coin scenegraph traversal state data. the sostate class is used by actions derived from the soaction class. it manages the scenegraph state as stacks of elements (ie instances of classes derived from soelement).
- SoSurroundScale.3
- The sosurroundscale class is used to automatically scale geometry to surround other geometry. this node calculates a transformation (a translation and a scale) which will, when the node is traversed, be appended to the current model matrix, making a default cube placed directly to the right of this node in the graph surround geometry to the right of the container branch this node is on. the container is specified by the field sosurroundscale::numnodesuptocontainer.
- SoSwitch.3
- The soswitch class is a group node which selects one child subgraph for traversal. which child to traverse is controlled by the application programmer by using the soswitch::whichchild field. in addition to picking out a single child for traversal, it is also possible to flip all children on or off for traversal.
- SoSwitchElement.3
- The soswitchelement class is yet to be documented. fixme: write doc.
- SoTabBoxDragger.3
- The sotabboxdragger wraps a box around geometry you can then translate and scale. here's how the dragger looks with its default geometry in the inactive state:
- SoTabBoxManip.3
- The sotabboxmanip class wraps an sotabboxdragger.
- SoTabPlaneDragger.3
- The sotabplanedragger class is a dragger you can translate and scale within a plane. here's how the dragger looks with its default geometry in the inactive state:
- SoTempPath.3
- The sotemppath class is used to store temporary paths. the path simply turns off auditing in the constructor, and leaves the user with the responsibility of keeping the path valid.
- SoText2.3
- The sotext2 class is a node type for visualizing 2d text aligned with the camera plane. sotext2 text is not scaled according to the distance from the camera, and is not influenced by rotation or scaling as 3d primitives are. if these are properties that you want the text to have, you should instead use an sotext3 or soasciitext node.
- SoText3.3
- The sotext3 class renders extruded 3d text. render text as 3d geometry.
- SoTextDetail.3
- The sotextdetail stores information about a character in a string. instances of this class are used for storing information about hit points on textual 2d or 3d geometry after pick operations, and for storing information returned to tessellation callbacks.
- SoTextOutlineEnabledElement.3
- The sotextoutlineenabledelement class is yet to be documented. fixme: write doc.
- SoTexture2.3
- The sotexture2 class is used to map a 2d texture onto subsequent geometry in the scenegraph. shape nodes within the scope of sotexture2 nodes in the scenegraph (ie below the same soseparator and to the righthand side of the sotexture2) will have the texture applied according to each shape type's individual characteristics. see the documentation of the various shape types (sofaceset, socube, sosphere, etc etc) for information about the specifics of how the textures will be applied.
- SoTexture2Convert.3
- Abstract base class for texture filtering engines.
- SoTexture2Transform.3
- The sotexture2transform class is used to define 2d texture transformations. textures applied to shapes in the scene can be transformed by 'prefixing' in the state with instances of this node type. translations, rotations and scaling in 2d can all be done.
- SoTexture3.3
- The sotexture3 class is used to map a 3d texture onto geometry. shape nodes within the scope of sotexture3 nodes in the scenegraph (ie below the same soseparator and to the righthand side of the sotexture3) will have the texture applied according to each shape type's individual characteristics. see the documentation of the various shape types (sofaceset, socube, sosphere, etc etc) for information about the specifics of how the textures will be applied. an sotexture3 node will override any previous encountered sotexture2 nodes and vice versa. mixing of sotexture3 and sotexturecoordinate2 (or the other way around) is legal, but the third texture coordinate component will be ignored (set to 0.0).
- SoTexture3Transform.3
- The sotexture3transform class is used to define 3d texture transformations. textures applied to shapes in the scene can be transformed by 'prefixing' in the state with instances of this node type. translations, rotations and scaling in 3d can all be done.
- SoTextureCombine.3
- The sotexturecombine class is a node for setting texture combine functions. this node is more or less an exact mapping of the opengl arb_texture_env_combine extension (included in opengl in opengl v1.3). see http://oss.sgi.com/projects/ogl-sample/registry/arb/texture_env_combine.txt for more information about this extension.
- SoTextureCombineElement.3
- The sotexturecombineelement class is yet to be documented. fixme: write doc.
- SoTextureCoordinate2.3
- The sotexturecoordinate2 class contains a set of coordinates for the mapping of 2d textures. when encountering nodes of this type during traversal, the coordinates it contains will be put on the state stack. some shape nodes (for instance soindexedfaceset, among many others) can then use these coordinates for explicit, detailed control of how textures are mapped to it's surfaces.
- SoTextureCoordinate3.3
- The sotexturecoordinate3 class contains a set of coordinates for the mapping of 2d textures. when encountering nodes of this type during traversal, the coordinates it contains will be put on the state stack. some shape nodes can then use these coordinates for explicit, detailed control of how 3d textures are mapped.
- SoTextureCoordinateBinding.3
- The sotexturecoordinatebinding class says how texture coordinates should be bound to shapes. sotexturecoordinatebinding binds current coordinates to subsequent shapes by using either per vertex or per indexed vertex binding.
- SoTextureCoordinateBindingElement.3
- The sotexturecoordinatebindingelement class is yet to be documented. fixme: write doc.
- SoTextureCoordinateBundle.3
- The sotexturecoordinatebundle class simplifies texture coordinate handling. it is unlikely that application programmers should need to know how to use this class, as it is mostly intended for internal use.
- SoTextureCoordinateCache.3
- Sotexturecoordinatecache -
- SoTextureCoordinateCube.3
- The sotexturecoordinatecube class autogenerates cubemapped texture coordinated for shapes. the cube used for reference when mapping is the boundingbox for the shape.
- SoTextureCoordinateCylinder.3
- The sotexturecoordinatecylinder class autogenerates cylinder mapped texture coordinated for shapes. file format/defaults:
- SoTextureCoordinateDefault.3
- The sotexturecoordinatedefault class removes texture coordinates from the state. shapes below this node in the scenegraph will have to use its default texture coordinates as sotexturecoordinatedefault cleans out all previously defined texture coordinates and texture coordinate functions.
- SoTextureCoordinateEnvironment.3
- The sotexturecoordinateenvironment class generates texture coordinates by projecting onto a surrounding texture. the texture specifying the enviroment will be mapped around the scenegraph below this node using a sphere. the texture will be mapped onto the scenegraph taking camera position into account. this will lead to an object reflecting its enviroment.
- SoTextureCoordinateFunction.3
- The sotexturecoordinatefunction class is an abstract base class for texture coordinate generating nodes classes reimplementing sotexturecoordinatefunction generate texture coordinates by projecting object space surface points using some function.
- SoTextureCoordinateNormalMap.3
- The sotexturecoordinatenormalmap class generates texture coordinates by projecting onto a surrounding texture. the texture specifying the enviroment will be mapped around the scenegraph below this node using a sphere. the texture will be mapped onto the scenegraph taking camera position into account. this will lead to an object reflecting its enviroment.
- SoTextureCoordinateObject.3
- The sotexturecoordinateobject class generates texture coordinates by... fixme: not implemented yet. pederb, 2005-04-20.
- SoTextureCoordinatePlane.3
- The sotexturecoordinateplane class generates texture coordinates by projecting onto a plane. sotexturecoordinateplane is used for generating texture coordinates by projecting the object onto a texture plane. the s, t and r texture coordinates are computed as the distance from the origin to the projected point, in the respective directions. the texture plane is specified using two direction vectors, given as sotexturecoordinateplane::directions and sotexturecoordinateplane::directiont in object space coordinates. sotexturecoordinateplane::directionr is used for generating the third coordinate, and can be used for generating texture coordinate for 3d textures. for 2d textures you can just leave this field alone.
- SoTextureCoordinateReflectionMap.3
- The sotexturecoordinatereflectionmap class generates 3d reflection texture coordinates. this node is usually used along with a socubemaptexture node...
- SoTextureCoordinateSphere.3
- The sotexturecoordinatesphere class autogenerates spheremapped texture coordinated for shapes. file format/defaults:
- SoTextureCubeMap.3
- The sotexturecubemap class is used to map a cube map onto subsequent shape nodes. shape nodes within the scope of sotexturecubemap nodes in the scenegraph (ie below the same soseparator and to the righthand side of the sotexturecubemap) will have the texture applied according to each shape type's individual characteristics. see the documentation of the various shape types (sofaceset, socube, sosphere, etc etc) for information about the specifics of how the textures will be applied.
- SoTextureMatrixTransform.3
- The sotexturematrixtransform class is used to define a texture matrix transformation. textures applied to shapes in the scene can be transformed by 'prefixing' in the state with instances of this node type.
- SoTextureOverrideElement.3
- The sotextureoverrideelement makes it possible to override texture elements.
- SoTextureQualityElement.3
- The sotexturequalityelement is yet to be documented. fixme: write doc.
- SoTextureScalePolicy.3
- The sotexturescalepolicy class is a node for controlling the texture scale policy. if a texture map is of size != 2^n, it must be scaled before opengl can handle it. this node enables you to control how/if textures are scaled before it is sent to opengl.
- SoTextureUnit.3
- The sotextureunit class is a node for setting the active texture unit. when an sotextureunit node is inserted into the scene graph, all subsequent texture nodes (sotexture2, sotexturecoordinate2, sotexturecoordinate3, sotexture2transform, sotexture3transform, sotexturecoordinateenvironment, sotexturecoordinateplane and socomplexity) will affect the texture unit set in the unit field.
- SoTextureUnitElement.3
- The sotextureunitelement class is yet to be documented.
- SoTimeCounter.3
- The sotimecounter class is an integer counter engine. the sotimecounter engine is by default connected to the realtime global field, and does stepwise updates on the sotimecounter::output field according to the field settings.
- SoTimerQueueSensor.3
- The sotimerqueuesensor class is the abstract base class for sensors triggering on certain timer events. timer sensors triggers upon specific points in time.
- SoTimerSensor.3
- The sotimersensor class is a sensor which will trigger at given intervals. use sensors of this class when you want a job repeated at a certain interval, without explicitly needing to reschedule the sensor (i.e. sotimersensor automatically re-schedules itself after it has been triggered).
- SoToVRML2Action.3
- The sotovrml2action class builds a new scene graph, using only vrml97/vrml2 nodes. this action is used for converting a scene graph of vrml1/coin nodes to a new scene graph using only vrml97/vrml2 nodes.
- SoToVRMLAction.3
- The sotovrmlaction class builds a new scene graph using only vrml 1.0 nodes. this action is used for converting a scene graph of vrml2/vrml97 nodes to a new scene graph using only vrml1 compatible nodes.
- SoTrackballDragger.3
- The sotrackballdragger provides the end-user with rotation and scaling interaction possibilities. here's how the dragger looks with its default geometry in the inactive state:
- SoTrackballManip.3
- The sotrackballmanip wraps an sotrackballdragger for convenience.
- SoTransform.3
- The sotransform class is the 'all-purpose' transformation node type. like somatrixtransform, nodes of this type gives the application programmer maximum flexibility when specifying geometry transformations in a scene graph. if you want to set and keep the various components of the transformation matrix in separate entities, this node type is preferable, though.
- SoTransformBoxDragger.3
- The sotransformboxdragger provides a box which can be translated, scaled and rotated. here's how the dragger looks with its default geometry in the inactive state:
- SoTransformBoxManip.3
- The sotransformboxmanip wraps an sotransformboxdragger for convenience.
- SoTransformManip.3
- The sotransformmanip class is used to manipulate transformations. a manipulator is used by replacing the node you want to edit in the graph with the manipulator. draggers are used to to manipulate the node. when manipulation is finished, the node is put back into the graph, replacing the manipulator.
- SoTransformSeparator.3
- The sotransformseparator class is a group node preserving the current transformations. this node works like the soseparator group node, except that it only stores and restores the current model matrix transformation. other appearance settings, like materials, textures, cameras, lights, etc, will affect the remaining parts of the scenegraph after traversal, just like as for the sogroup node.
- SoTransformVec3f.3
- The sotransformvec3f class transforms 3d vectors by a matrix.
- SoTransformation.3
- The sotransformation class is the abstract base class for transformation nodes. to position and orient geometry within the 3d world space, various node types for transformations are used. these nodes all inherit the sotransformation base class.
- SoTransformerDragger.3
- The sotransformerdragger provides geometry for translation, scaling and rotations. here's how the dragger looks with its default geometry in the inactive state:
- SoTransformerManip.3
- The sotransformermanip wraps an sotransformerdragger for convenience.
- SoTranslate1Dragger.3
- The sotranslate1dragger class provides a mechanism for the end-user to translate along an axis. here's how the dragger looks with its default geometry in the inactive state:
- SoTranslate2Dragger.3
- The sotranslate2dragger class provides a mechanism for the end-user to translate in a plane. here's how the dragger looks with its default geometry in the inactive state:
- SoTranslation.3
- The sotranslation class is a node type for specifying geometry translations. for simply translating some geometry in a scene graph, you can use this node type.
- SoTransparencyElement.3
- The sotransparencyelement is yet to be documented. fixme: write doc.
- SoTransparencyType.3
- The sotransparencytype class is a node for setting the transparency type for shapes. in earlier versions of coin/open inventor it was only possible to set the transparency mode globally for an entire scene graph, which could be inconvenient if different transparency types was wanted for different shapes.
- SoTriangleStripSet.3
- The sotrianglestripset class is used to render and control non-indexed triangle strips. triangle strips are specified using the numvertices field.
- SoTriggerAny.3
- The sotriggerany class is a fan-in engine for triggers. when any one of the input triggers are 'pulsed', any field connected as a slave to the engine output will be notified.
- SoType.3
- The sotype class is the basis for the run-time type system in coin. many of the classes in the coin library must have their type information registered before any instances are created (including, but not limited to: engines, nodes, fields, actions, nodekits and manipulators). the use of sotype to store this information provides lots of various functionality for working with class hierarchies, comparing class types, instantiating objects from classnames, etc etc.
- SoType.h.3
- Sotype.h -
- SoTypeList.3
- The sotypelist class is a container class for arrays of sotype objects.
- SoUnits.3
- The sounits class is a node for setting unit types. even though coin doesn't care what units you are using in your scene graph per se, there's an advantage to using sounits nodes: you have a way to split your scene graph into different 'conceptual' parts.
- SoUnitsElement.3
- The sounitselement class is yet to be documented. fixme: write doc.
- SoVRMLAnchor.3
- The sovrmlanchor class is used for linking to other url resources. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLAnchor.h.3
- Sovrmlanchor.h -
- SoVRMLAppearance.3
- The sovrmlappearance class specifies visual properties for shapes. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLAudioClip.3
- The sovrmlaudioclip class is used to load and store audio data. audio data is loaded using the simage library, so make sure you have built the simage library with support for the audio file formats you intend to use (libogg, libvorbis and libvorbisfile for oggvorbis, libsndfile for wav and several other formats).
- SoVRMLAudioClip.h.3
- Sovrmlaudioclip.h -
- SoVRMLBackground.3
- The sovrmlbackground class is used for specifying a viewer panorama. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLBillboard.3
- The sovrmlbillboard class is used for rotating geometry towards the viewpoint. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLBox.3
- The sovrmlbox class is used for representing a 3d box. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLCollision.3
- The sovrmlcollision class is used for collision detection with the avatar. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLColor.3
- The sovrmlcolor class is used to specify multiple colors for a single shape. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLColorInterpolator.3
- The sovrmlcolorinterpolator class is used to interpolate color values. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLCone.3
- The sovrmlcone class is used to represent a cone object. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLCoordinate.3
- The sovrmlcoordinate class is used to define 3d coordinates for shapes. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLCoordinateInterpolator.3
- The sovrmlcoordinateinterpolator class is used to interpolate 3d coordinates. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLCylinder.3
- The sovrmlcylinder class is used to represent a cylinder object. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLCylinderSensor.3
- The sovrmlcylindersensor class maps pointer motion into rotations around the y axis. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLDirectionalLight.3
- The sovrmldirectionallight class is a node type for specifying directional light sources the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLDragSensor.3
- The sovrmldragsensor class is a superclass for vrml drag sensors.
- SoVRMLElevationGrid.3
- The sovrmlelevationgrid class is used to represent elevation grids. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLExtrusion.3
- The sovrmlextrusion class is a a geometry node for extruding a cross section along a spine. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLFog.3
- The sovrmlfog class is used to specify a global scene fog. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLFontStyle.3
- The sovrmlfontstyle class is used to define the current font. important note: currently, the sovrmltext node implementation is not complete, and some of the features mentioned in the documentation below may not be working yet.
- SoVRMLGeometry.3
- The sovrmlgeometry class is a superclass for vrml shapes.
- SoVRMLGroup.3
- The sovrmlgroup class is used for grouping vrml nodes. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLImageTexture.3
- The sovrmlimagetexture class is used for mapping a texture file onto geometry. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLImageTexture.h.3
- Sovrmlimagetexture.h -
- SoVRMLIndexedFaceSet.3
- The sovrmlindexedfaceset class is used for representing a generic 3d shape. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLIndexedLine.3
- The sovrmlindexedline class is an abstract superclass for lines specified with indices. this api member is considered internal to the library, as it is not likely to be of interest to the application programmer.
- SoVRMLIndexedLineSet.3
- The sovrmlindexedlineset class is used to represent a generic 3d line shape. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLIndexedShape.3
- The sovrmlindexedshape class is a superclass for geometry that use indexes.
- SoVRMLInline.3
- The sovrmlinline class is used to insert vrml files into a scene. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLInline.h.3
- Sovrmlinline.h -
- SoVRMLInterpolator.3
- The sovrmlinterpolator class is an internal abstract class.
- SoVRMLLOD.3
- The sovrmllod class is used to represent various levels of detail based on distance. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLLight.3
- The sovrmllight class is a superclass for vrml light nodes.
- SoVRMLMaterial.3
- The sovrmlmaterial class is used to assign a material to geometry. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLMovieTexture.3
- The sovrmlmovietexture class is used the map movies onto geometry. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLNavigationInfo.3
- The sovrmlnavigationinfo class is used to specify avatar and viewer settings. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLNormal.3
- The sovrmlnormal class is used to bind normals to geometry. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLNormalInterpolator.3
- The sovrmlnormalinterpolator class is used to interpolate normals. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLOrientationInterpolator.3
- The sovrmlorientationinterpolator class is used to interpolate orientations. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLParent.3
- The sovrmlparent node is a superclass for all vrml grouping nodes.
- SoVRMLPixelTexture.3
- The sovrmlpixeltexture class is used for mapping a texture image onto geometry.. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLPlaneSensor.3
- The sovrmlplanesensor class maps pointer motion into object space translations. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLPointLight.3
- The sovrmlpointlight class is used to represent a point light. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLPointSet.3
- The sovrmlpointset class is used to represent a set of 3d points. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLPositionInterpolator.3
- The sovrmlpositioninterpolator class is used to interpolate 3d points. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLProximitySensor.3
- The sovrmlproximitysensor class is used to generate events when the viewer enters or exits a region. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLScalarInterpolator.3
- The sovrmlscalarinterpolator class is used to interpolate scalar values.
- SoVRMLScript.3
- The sovrmlscript class is used to control the scene using scripts. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLScript.h.3
- Sovrmlscript.h -
- SoVRMLSensor.3
- The sovrmlsensor class is an abstract superclass for vrml sensors.
- SoVRMLShape.3
- The sovrmlshape class holds geometry and geometry appearance nodes. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLSound.3
- The sovrmlsound class is used to represent a sound source. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLSphere.3
- The sovrmlsphere class is used to represent a spherical 3d object. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLSphereSensor.3
- The sovrmlspheresensor class maps pointer motion into rotations on a sphere. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLSpotLight.3
- The sovrmlspotlight class defines a spot light source. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLSwitch.3
- The sovrmlswitch class is a group node for traversing selected children. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLText.3
- The sovrmltext class is used to represent text in a scene. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLTexture.3
- The sovrmltexture class is a superclass for vrml texture nodes.
- SoVRMLTextureCoordinate.3
- The sovrmltexturecoordinate class binds texture coordinates to vertex-based geometry. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLTextureTransform.3
- The sovrmltexturetransform class defines a transformation applied to texture coordinates. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLTimeSensor.3
- The sovrmltimesensor class is a multi-purpose time event generator. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLTouchSensor.3
- The sovrmltouchsensor class tracks to pointer position and sends events based on user interaction. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLTransform.3
- The sovrmltransform class is a grouping node that defines a transformation for its children. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLVertexLine.3
- The sovrmlvertexline class is a superclass for line based vrml geometry.
- SoVRMLVertexPoint.3
- The sovrmlvertexpoint class is a superclass for point based vrml shapes.
- SoVRMLVertexShape.3
- The sovrmlvertexshape class is a superclass for vertex based shapes.
- SoVRMLViewpoint.3
- The sovrmlviewpoint class is a perspective camera class. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLVisibilitySensor.3
- The sovrmlvisibilitysensor class will generate events based on visibility. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVRMLWorldInfo.3
- The sovrmlworldinfo class contains information about the vrml scene. the detailed class documentation is taken verbatim from the vrml97 standard (iso/iec 14772-1:1997). it is copyright the web3d consortium, and is used by permission of the consortium:
- SoVertexAttribute.3
- A generic node for providing gl vertex attributes of various types.
- SoVertexAttributeBinding.3
- The sovertexattributebinding class is a node for setting up how vertex attributes are mapped to shapes.
- SoVertexAttributeBindingElement.3
- The sovertexattributebindingelement class is yet to be documented. fixme: write doc.
- SoVertexAttributeBundle.3
- The sovertexattributebundle class simplifies vertex attribute handling.
- SoVertexAttributeElement.h.3
- Sovertexattributeelement.h -
- SoVertexProperty.3
- The sovertexproperty class collects the functionality of various appearance nodes. instead of reading data from the current state stack of the scenegraph traversal, nodes inheriting sovertexshape can be set up with an sovertexproperty node in the sovertexshape::vertexproperty field. coordinates, normals, texture coordinates and material / color information will then be fetched from the vertexshape's sovertexproperty node instead of from the state stack.
- SoVertexShader.3
- The sovertexshader class is used for setting up vertex shader programs. see shaders in coin for more information on how to set up a scene graph with shaders.
- SoVertexShape.3
- The sovertexshape class is the superclass for all vertex based shapes. basically, every polygon-, line- or point-based shape will inherit this class. it contains methods for organizing the normal cache, and also holds the sovertexshape::vertexproperty field which can be used to set vertex data inside the node.
- SoViewVolumeElement.3
- The soviewvolumeelement class is yet to be documented. fixme: write doc.
- SoViewingMatrixElement.3
- The soviewingmatrixelement class stores the world-to-camera transformation.
- SoViewportRegionElement.3
- The soviewportregionelement class is yet to be documented. fixme: write doc.
- SoWWWAnchor.3
- The sowwwanchor class adds url callbacks to the highlighted geometry. in addition to highlighting geometry under the cursor, the application programmer can set callbacks. it is possible to set one callback for picking, the fetch callback, and one callback for highlighting.
- SoWWWAnchor.h.3
- Sowwwanchor.h -
- SoWWWInline.3
- The sowwwinline class is a node used to include data from an url. if the url is not a local file, the application is responsible for supplying a callback to a function which will fetch the data of the url.
- SoWWWInline.h.3
- Sowwwinline.h -
- SoWindowElement.3
- The sowindowelement class is used to store current window attributes. in coin, this element is not api-compatible with sgi inventor, since it contains platform specific stuff, which we want to avoid.
- SoWrapperKit.3
- The sowrapperkit class is a simple kit for wrapping a transform and a sub-graph.
- SoWriteAction.3
- The sowriteaction class writes a scene graph to file. when applied to a scene, this action writes its contents to the stream contained within an sooutput instance. this can be a file, a memory buffer or a system filehandle like stdout, for instance.
- VRMLnodes.3
- Vrml97 classes -
- XML.3
- Xml related functions and objects -
- actions.3
- Action classes -
- base.3
- Base classes -
- bundles.3
- Bundle classes -
- caches.3
- Cache classes -
- cc_string.3
- The cc_string type is a c adt for ascii string management. this is a coin extension.
- coin200.3
- New features in coin v2.0.0
- coin210.3
- New features in coin v2.1.0
- coin220.3
- New features in coin v2.2.0
- coin230.3
- New features in coin v2.3.0
- coin240.3
- New features in coin v2.4.0 the primary reason for the 2.4.0 release was the option of finally building coin from source on ms windows without having to go through the cygwin process. there had also been various optimization work on rendering traversal code, file i/o and other things. for v2.4.1, soextselection lasso and rectangle select could be aborted by the end-user by hiting the 'end' key. no api-changes was needed for this of course. for v2.4.2, we hacked in support for compressed textures through an api/abi-invisible field in sotexture2, called 'enablecompressedtexture'. this field will remain 'invisible' until coin v3.0.0 is released, and can only be accessed from .iv-file input or through the sofieldcontainer api. for v2.4.6, sbviewvolume::getalignrotation() was implemented, and sotovrml2action got support for sounits in relation to sovrmltransform nodes. new features for coin v2.3.0 are here.
- coin250.3
- New features in coin v2.5.0 this is a brief summary of the new features in coin v2.5.0, grouped by feature category.
- coin300.3
- New features in coin v3.0.0 to come. new features for coin v2.5.0 are here.
- coin_shaders.3
- Shaders in coin coin 2.5 added support for shaders. the main nodes used are soshaderprogram, sovertexshader, sofragmentshader, and sogeometryshader. a typical scene graph with shaders will look something like this:
- compression_overview.3
- File compression coin can support reading and writing inventor and vrml files compressed with either gzip or bzip2 (as of yet - more formats may come in the future). this functionality is of course only enabled when coin can link with the corresponding compression libraries. reading of compressed files happens in a transparent manner - there is nothing the developer has to do to support this. writing of compressed files is controlled through the sooutput::setcompression method. the list of available compression methods can be fetched with the sooutput::getavailablecompressionmethods method. you can not use file compression together with i/o to memory buffers, except for reading from memory buffers containing gzip-compressed files. for backwards compatibility with coin 2.0 and coin 1.0, compressed files must not be used. compressed files works only from coin 2.1 and upwards. since: coin 2.1 see also: sooutput::setcompression, sooutput::getavailablecompressionmethods
- debugerror.h.3
- Debugerror.h -
- details.3
- Detail classes -
- draggers.3
- Dragger classes -
- dynload_overview.3
- Dynamic loading of extension nodes when coin tries to get hold of a node type object (sotype) for a class based on the name string of the node type, it will - if no such node type has been initialized yet - scan the file system for a dynamically loadable extension node with that given name. this can be completely disabled by setting the environment variable coin_no_sotype_dynload to a positive integer value, new from coin v2.5.0. on unix, extensions nodes are regular .so files. on win32, extension nodes are built as dlls. on mac os x systems, extension nodes are built as .dylib files. (note: the extension nodes have to be built using the flag '-dynamiclib', not '-bundle'.) whether the dynamically loadable objects should be named with or without the 'lib' prefix is optional. both schemes will work. people don't usually program in a way so that they instantiate new nodes through the node class' sotype object, but that is the way nodes are created when model files are loaded. this means that for all coin applications that load model files, the custom extension nodes will automatically be supported for the model files without you having to modify their source code and rebuild the applications. see ftp://ftp.coin3d.org/pub/coin/src/dynloadsample.tar.gz for an example using two dynamically loadable extension nodes. you only use an examiner viewer to view the two extension nodes in action. only a limited set of c++ compilers are supported as of yet. this is because, to initialize the extension node, it is necessary to know something about how the c++ compiler mangles the initclass symbol. if we don't know that, there is no way to locate the initclass method in the library, which means the extension node can not make itself known to the type system. if your c++ compiler is not supported, the source file to add support for a new compiler in is src/misc/cppmangle.icc. it is fairly trivial to add support for new compilers, but if you don't understand how, just ask us about it. patches with support for new compilers are of course very welcome. see also: sotype since: coin 2.0
- elements.3
- Element classes -
- engines.3
- Engine classes -
- envvars.3
- Miscellaneous environment variables -
- error.h.3
- Error.h -
- errors.3
- Error handling classes -
- events.3
- Event classes -
- fields.3
- Field classes -
- foreignfilesupport.3
- Foreign file format support this is a page describing foreign file format support in coin. formats supported so far: stl / stereolithography files (.stl) the sostlfilekit server as a first example on how foreign file format support can be implemented through the soforeignfilekit interface nodekit. for stl, the file format is so trivial that it maps directly into a few open inventor nodes. for other file formats, the direct mapping might not be possible or desirable (maybe important information will get lost in such a conversion), and the implementor might choose to implement a set of internal custom nodes for doing the rendering (and applying the other actions), and choose to first do pure open inventor organization when the node kit is asked to write its contents as a scene graph. fixme: document autoloading when implemented and tested see also: soforeignfilekit, sostlfilekit
- general.3
- Miscellaneous classes -
- hardcopy.3
- Vectorized printing classes -
- hash.h.3
- Hash.h -
- heap.h.3
- Heap.h -
- libraries.3
- Coin use of 3rd party libraries. coin may use a wide variety of 3rd party libraries, directly and indirectly, depending on how the coin build was configured. this document tries to summarize the situation. some of the libraries that are a standard part of an operating system are ignored here. this document expects that the reader is familiar with library build processes and has knowledge of various concepts such as 'configure-time', 'linktime', and 'runtime' related to library builds and behaviour. first of all, coin requires opengl. depending on the opengl version, features in coin are turned on and off. if a feature coin is supposed to suport does not seem to produce any result, make sure to check that the underlying opengl version does support that feature. opengl is linked into coin both at linktime and runtime. features added to opengl later than the oldest version of opengl we support in coin are always tried linked up at runtime, and failure to do so will disable features in coin or cause alternate implementations of features to be used instead. opengl is accompanied with a set of auxiliary libraries we also use. these are libraries like glext, glu (for nurbs tessellation and texture mipmaping amongst others), cggl (for shaders that use cg (we recommend using glsl instead btw)). of these libraries, cggl is loaded at runtime if needed, while the others are linked with coin at linktime. some platforms have glu libraries that don't behave properly in certain respects, and some coin users have particular needs wrt coin's use of glu. for these users, we (at kongsberg oil & gas technologies) have created a fork og glu that we have named superglu that we have tweaked in certain ways. this library can be checked out into the coin source code directory, which will be detected at configure-time and linked statically into coin and used instead of the glu libraries on the host system. in addition to these libraries, coin will use agl on mac os x, wgl on ms windows, and glx on x windows systems for offscreen rendering purposes. we now move on to libraries that are not related to opengl. coin uses libz (aka zlib) and libbzip2 to read and/or write files compressed with either of those compression techniques. both libraries can ble linked with coin at linktime or loaded at runtime, and this is controlled at configure-time. they can also be disabled if compressed file input/output is not wanted. the libz library is likely to be pulled in as a dependency from other libraries as well, especially graphics libraries. for font support, coin uses fontconfig or freetype in addition to native platform apis for font reading. freetype can be loaded at runtime instead of linked at linktime if desired, but freetype is only used if fontconfig is not found at configure-time anyway, unless the library builder overrides this behaviour. for javascript support in vrml97, coin uses spidermonkey. spidermonkey can also be loaded at runtime instead of linked at linktime. for sound support in vrml97, coin uses openal. openal is loaded at runtime or linked at linktime. btw, some versions of the openal library delivered with installers from creative on ms windows have been known to crash/freeze coin-applications when loaded, so if you experience something like that, that's one thing to investigate. for threading support, coin uses posix threads (pthread library) or the native win32 api on ms windows. you can use pthread on ms windows as well instead of the native threads by setting this at configure-time. we now come to a special class of libraries that has been directly integrated into the coin source code, thereby not requiring the libraries to be installed on the system beforehand for coin to build or run. coin makes use of certain utilities like smart-pointers from boost. the boost headers can be found under include/ in the coin source code directory. no boost types are exposed in the coin api, nor will they ever be. they are completely hidden, viewed from the outside of coin. all boost types used in coin are completely inlined in the boost headers and therefore do not require a link library to pull their implementation from at runtime. for xml reading, coin uses the expat library, which has also been integrated directly into coin, so also here there are no extra linktime or runtime dependencies to other libraries. the expat api is not exposed in the coin api, it is hidden, but coin provides its own xml dom api that is a wrapper over the expat engine. the last thing to mention here is hardly a library, but we mention it anyway. coin uses flex and bison to generate some parsers (one for the stl 3d model file format, and another one for parsing the calculator language in the socalculator engine). this is code that has been generated by 3rd party parser generators and integrated into coin. the generated code is distributed with the source code, so neither flex nor bison is needed to build coin. and last but definitely not least, coin uses simage...
- macros.3
- When extending coin, there are a number of macros one needs to know about and use.
- manips.3
- Manipulator classes -
- memalloc.h.3
- Memalloc.h -
- multithreading_support.3
- Multithreading support in coin the support in coin for using multiple threads in application programs and the coin library itself, consists of two main features: coin provides platform-independent thread-handling abstraction classes. these are classes that the application programmer can freely use in her application code to start new threads, control their execution, work with mutexes and do other tasks related to handling multiple threads. the classes in question are sbthread, sbmutex, sbstorage, sbbarrier, sbcondvar, sbfifo, sbthreadautolock, sbrwmutex, and sbtypedstorage. see their respective documentation for the detailed information. the classes fully hides the system-specific implementation, which is either done on top of native win32 (if on microsoft windows), or over posix threads (on unix and unix-like systems). the other aspect of our multi-threading support is that coin can be specially configured so that rendering traversals of the scene graph are done in a thread-safe manner. this means e.g. that it is possible to have coin render the scene in parallel on multiple cpus for multiple rendering pipes, to better take advantage of such high-end systems (like cave environments, for instance). thread-safe render traversals are off by default, because there is a small overhead involved which would make rendering (very) slightly slower on single-threaded invocations. to get a coin library built with thread-safe rendering, one must actively re-configure coin and build a special, local version. for configure-based builds (unix and unix-like systems, or with cygwin on microsoft windows) this is done with the option '--enable-threadsafe' to autoconf configure. to change the configuration and re-build with visual studio, you will need to change the preprocessor directive coin_threadsafe to defined in the file src/setup.h located in the same folder as you found your solution file. there are some restrictions and other issues which it is important to be aware of: we do not yet provide any support for binding the multi-threaded rendering support into the soqt / sowin / etc gui bindings, and neither do we provide bindings against any specific library that handles multi-pipe rendering. this means the application programmer will have to possess some expertise, and put in some effort, to be able to utilize multi-pipe rendering with coin. rendering traversals is currently the only operation which we publicly support to be thread-safe. there are other aspects of coin that we know are thread-safe, like most other action traversals beside just rendering, but we make no guarantees in this regard. be careful about using a separate thread for changing coin structures versus what is used for the application's gui event thread. we are aware of at least issues with qt3 (and thereby soqt), where you should not modify the scene graph in any way in a thread separate from the main qt thread. this because it will trigger operations where qt3 is not thread-safe. for qt4, we have not been aware of such problems. since: coin 2.0
- navigation.3
- Navigation classes -
- nodekits.3
- Nodekit classes -
- nodes.3
- Node classes -
- profiler.3
- Scene graph profiling -
- projectors.3
- Projector classes -
- rbptree.h.3
- Rbptree.h -
- sched.h.3
- Sched.h -
- sensors.3
- Sensor classes -
- shaders.3
- Shader classes -
- soscxml.3
- Coin specific state chart xml classes -
- sound.3
- 3d sound support classes -
- spidermonkey.h.3
- Spidermonkey.h -
- storage.h.3
- Storage.h -
- string_coin.h.3
- String.h -
- thread_coin.h.3
- Thread.h -
- threads.3
- Portable threads abstraction classes -
- tidbits.h.3
- Tidbits.h -
- types.h.3
- Types.h -
- vbo_rendering.3
- Vertex array and vbo rendering in coin coin 2.5 added improved support for opengl vertex array and vbo rendering. this might lead to major rendering performance improvements compared to the old rendering code. the new rendering code has been added for the soindexedfaceset, sovrmlindexedfaceset, soindexedlineset, sovrmlindexedlineset, sopointset, sofaceset and sovrmlpointset nodes. to take advantage of the improved performance vertex array and vbo rendering yields, you'll need to organize your vertex data in a way that makes it possible to render it with opengl vertex arrays. opengl vertex array rendering does not support multiple index arrays, so all your vertex data (coordinates, normals, colors and texture coordinates) must use the same index array; or use overall binding. for the indexed nodes, this means that per_vertex_indexed and overall are the only supported bindings for materials, normals and texture coordinates. when per_vertex_indexed binding is used, the corresponding index field should by empty. this will signal the shape to use the coordindex field for indices. below is an example scene graph that will be rendered using vertex arrays:
- worker.h.3
- Worker.h -
- wpool.h.3
- Wpool.h -
- xmlparsing.3
- Xml parsing with coin for coin 3.0, we added an xml parser to coin. this document describes how it can be used for generic purposes. why another xml parser, you might ask? first of all, the xml parser is actually a third-party parser, expat. coin needed one, and many coin-dependent projects needed one as well. we therefore needed to expose an api for it. however, integrating a 3rd-party parser into coin, we can not expose its api directly, or other projects also using expat would get conflicts. we therefore needed to expose the xml api with a unique api, hence the api you see here. it is based on a xml dom api we use(d) in a couple of other projects, but it has been tweaked to fit into coin and to be wrapped over expat (the original implementation just used flex). the xml parser is both a streaming parser and a dom parser. being a streaming parser means that documents can be read in without having to be fully contained in memory. when used as a dom parser, the whole document is fully parsed in first, and then inspected by client code by traversing the dom. the two modes can actually be mixed arbitrarily if ending up with a partial dom sounds useful. the xml parser has both a c api and a c++ api. the c++ api is just a wrapper around the c api, and only serves as convenience if you prefer to read/write c++ code (which is tighter) over more verbose c code. the c api naming convention may look a bit strange, unless you have written libraries to be wrapped for scheme/lisp-like languages before. then you might be familiar with the convention of suffixing your functions based on their behaviour/usage meaning. mutating functions are suffixed with '!', or '_x' for (exclamation point), and predicates are suffixed with '?', or '_p' in c. the simplest way to use the xml parser is to just call cc_xml_read_file(filename) and then traverse the dom model through using cc_xml_doc_get_root(), cc_xml_elt_get_child(), and cc_xml_elt_get_attr(). see also: xml related functions and objects, cc_xml_doc, cc_xml_elt, cc_xml_attr