![]() |
http://www.sim.no/ http://www.coin3d.org/ |
Action Classes | Actions are objects that traverse a scene graph to drive some scene-related process, one example being OpenGL rendering, and another being ray picking |
Base Classes | This group is just a lot of basic types for linear algebra, string manipulation and misc. other utilities |
Bundle Classes | The bundle classes are internal to Coin |
Cache Classes | The cache classes are internal to Coin |
Detail Classes | Detail classes are objects that deliver additional information wherever the SoPrimitiveVertex class is used. This goes for ray picking results, and it also goes for primitive generation by SoShape classes for the SoCallbackAction class and fallback shape rendering through primitive generation (a useful debugging trick when debugging for instance raypicking) |
Dragger Classes | Draggers are interactive components in the scene graph that respond to, and are controlled by mouse and keyboard events. They are used in manipulators as the user interface for the manipulation action, often many draggers combined at the same time |
Element Classes | The element classes in Coin are the containers of state information during action traversals of scene graphs. One element usually corresponts to one item of information, or sometimes a group of related information values. The elements work like a stack that is pushed and popped as the action traverses in and out of SoSeparator nodes, and the action will always just inspect the top of the stack when it needs to know a value |
Engine Classes | Engines are scene based objects that convert between field values of various types or performs computations on them. The most versatile engine is the SoCalculator engine, which you can write your own mathematical expressions to to get it to do almost anything. The other engines are more custom-tailored for specific purposes |
Error Handling Classes | The error classes are static classes that contain a callback pointer for handling errors of the given type. Coin has default handlers for displaying all the types, but these can be overridden by applications by setting other callbacks |
Event Classes | These classes are te event types you can send to a scene graph through the SoHandleEventAction. They are a pretty direct mapping from the various system event types you will have on all the host architectures |
Field Classes | The fields are the data containers in the scene graph. Nodes and engines all use fields to store their public data |
Miscellaneous Classes | |
Manipulator Classes | Manipulators are objects you can swap back and forth into a scene graph at locations where you have an SoTransform node. They take the place of the SoTransform, continue to act like the SoTransform, but in addition give the user a 3D user interface, using draggers, for controlling the transform. When the user is done manipulating, the manipulator can swap itself back out, replacing itself with an SoTransform that represent the new transform value |
NodeKit Classes | Wrapping ones head around when, how, and why to create nodekits can be difficult in the beginning. When do you write a nodekit, and when do you write a custom node? It is easy to think in those terms in the beginning, but it is often not an either/or situation |
Node Classes | This is the set of nodes Coin implements using the original Open Inventor pattern, meaning they read and write to and from files using the Inventor/VRML1 format, and produce side-effects for subsequent siblings under the same SoSeparator node during action traversal |
Projector Classes | The projector classes are used to convert between screenspace (2D) locations and locations in worldspace (3D). They are mostly used in relation to user interaction with the mouse in the viewport |
Sensor Classes | Sensors are objects that monitor other objects for changes and invoke callbacks when changes occur |
Shader Classes | Coin-2.5 added support for Shaders. Shaders replace the fixed function vertex and fragment processing in OpenGL by letting the user define the processing that takes place at key points in the OpenGL pipeline. Vertex shaders handle the operations that occur on each vertex, while fragment shaders handle the operations that occur on each pixel. The SoShaderProgram node in Coin provides a convenient way of specifying the code for vertex and fragment shaders |
3D Sound Support Classes | |
State Chart XML Classes | This set of classes is a basic implementation of State Chart XML. It is not complete, nor is it necessary conformant to those parts it implements. It is however a decent start, and there are plans for implementing more parts of the specification |
Portable Threads Abstraction Classes | Coin implements a set of abstractions over the native threads data types that can be portably used across all the platforms Coin has been ported to |
VRML97 Classes | This is the set of items specified by VRML97, also known as VRML2.0. These nodes are different from VRML1/Inventor nodes in the way you structure them into scene-graphs, and in the requirements they set for traversing them correctly (VRML1/Inventor require that you traverse siblings on the left side before the node of interest, while for VRML2.0 this is not true) |
Vectorized Printing Classes | The vectorized printing classes are for rendering to vector devices instead of raster devices. You can use this to e.g. generate scalable PostScript images for printing instead of raster images that will become pixellated when you scale them up |
XML related functions and objects | Coin now has its own XML parser that also canb be used from client code |
Scene Graph Profiling | Coin includes some scene graph profiling functionality. This functionality is intended for use during application development for identifying performance bottlenecks in Coin-based applications with regards to how Coin is being used and with regards to problems with how Coin is implemented |
Miscellaneous Macros | When extending Coin, there are a number of macros one needs to know about and use |
Miscellaneous Environment Variables | Various aspects of the Coin runtime behaviour can be controlled through setting different environment variables to some value. Most of these variables are there for debugging and problem-workaround purposes, but a few are for telling Coin where to locate external resource files |
Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.
Generated on Mon Jul 27 2020 for Coin by Doxygen 1.8.18.