Section 3
- coap_session_reference · Work with CoAP sessions
- coap_session_release · Work with CoAP sessions
- coap_session_set_ack_random_factor · Work with CoAP packet transmissions
- coap_session_set_ack_timeout · Work with CoAP packet transmissions
- coap_session_set_app_data · Work with CoAP sessions
- coap_session_set_default_leisure · Work with CoAP packet transmissions
- coap_session_set_max_payloads · Work with CoAP packet transmissions
- coap_session_set_max_retransmit · Work with CoAP packet transmissions
- coap_session_set_mtu · Work with CoAP client endpoints
- coap_session_set_no_observe_cancel · Work with CoAP observe
- coap_session_set_non_max_retransmit · Work with CoAP packet transmissions
- coap_session_set_non_receive_timeout · Work with CoAP packet transmissions
- coap_session_set_non_timeout · Work with CoAP packet transmissions
- coap_session_set_nstart · Work with CoAP packet transmissions
- coap_session_set_probing_rate · Work with CoAP packet transmissions
- coap_session_set_probing_wait · Work with CoAP packet transmissions
- coap_session_set_type_client · Work with CoAP sessions
- coap_session_str · Work with CoAP logging
- coap_set_event_handler · Work with CoAP deprecated functions
- coap_set_log_handler · Work with CoAP logging
- coap_set_log_level · Work with CoAP logging
- coap_set_show_pdu_output · Work with CoAP logging
- coap_show_pdu · Work with CoAP logging
- coap_show_tls_version · Work with CoAP TLS libraries
- coap_sockaddr_un · Work with CoAP Socket Address Types
- coap_split_path · Setting up CoAP PDUs
- coap_split_proxy_uri · Work with CoAP URIs
- coap_split_query · Setting up CoAP PDUs
- coap_split_uri · Work with CoAP URIs
- coap_startup · Work with CoAP initialization
- coap_string · Work with CoAP string functions
- coap_string_equal · Work with CoAP string functions
- coap_string_tls_support · Work with CoAP TLS libraries
- coap_string_tls_version · Work with CoAP TLS libraries
- coap_tcp_is_supported · Work with CoAP TLS libraries
- coap_tls_is_supported · Work with CoAP TLS libraries
- coap_tls_library · Work with CoAP TLS libraries
- coap_uri · Work with CoAP URIs
- coap_uri_into_options · Work with CoAP URIs
- coap_websockets · Work with CoAP WebSockets
- coap_write · Work with CoAP deprecated functions
- coap_ws_is_supported · Work with CoAP WebSockets
- coap_ws_set_host_request · Work with CoAP WebSockets
- coap_wss_is_supported · Work with CoAP WebSockets
- coe · set close-on-exec flag for a descriptor
- cofactorbddnode · computes the generalized cofactor.
- coin200 · New Features in Coin v2.0.0 This is a brief summary of the new features in Coin v2.0.0:
- coin210 · New Features in Coin v2.1.0 This is a brief summary of the new features in Coin v2.1.0:
- coin220 · New Features in Coin v2.2.0 This is a brief summary of the new features in Coin v2.2.0:
- coin230 · New Features in Coin v2.3.0 This is a brief summary of the new features in Coin v2.3.0:
- coin240 · 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 hitting 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.
- coin250 · 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 · New Features in Coin v3.0.0 This is a brief summary of the new features in Coin v3.0:
- coin310 · New Features in Coin v3.1.0 This is a brief summary of the new features in Coin v3.1.0:
- coin311 · New Features in Coin v3.1.1 This is a bugfix release. Bugs are fixed in all the NURBS related classes, and SoIndexedPointSet.
- coin312 · New Features in Coin v3.1.2 This is a bugfix release.
- coin313 · New Features in Coin v3.1.3 This is a bugfix release. Due to an underlying buildsystem upgrade, the default location of the generated HTML docs changed from $datarootdir/share/Coin/html to $datarootdir/share/doc/coin/html.
- coin400 · New Features in Coin v4.0.0 Kongsberg Oil & Gas Technologies AS ended Coin as a commercial product and re-licensed it under the BSD 3-clause license as a service to the user community. The build system has been migrated from GNU Autotools to CMake. This is a brief summary of the new features in Coin v4.0.0: Bug fixes:
- coin401 · New Features in Coin v4.0.1 This is a bugfix release. This is a brief summary of the new features in Coin v4.0.1: Bug fixes:
- coin4010 · New Features in Coin v4.0.10 This is a bugfix release. Bug fixes:
- coin402 · New Features in Coin v4.0.2 This is a bugfix release. Bug fixes:
- coin403 · New Features in Coin v4.0.3 This is a bugfix release. This is a brief summary of the new features in Coin v4.0.3: Bug fixes:
- coin404 · New Features in Coin v4.0.4 This is a bugfix release. This is a brief summary of the new features in Coin v4.0.4: Bug fixes:
- coin405 · New Features in Coin v4.0.5 This is a bugfix release. This is a brief summary of the new features in Coin v4.0.5: Bug fixes:
- coin406 · New Features in Coin v4.0.6 This is a bugfix release. Bug fixes:
- coin407 · New Features in Coin v4.0.7 This is a bugfix release. Bug fixes:
- coin408 · New Features in Coin v4.0.8 This is a bugfix release. Bug fixes:
- coin409 · New Features in Coin v4.0.9 This is a bugfix release. Bug fixes:
- coin_actions · Action Classes - Actions are objects that traverse a scene graph to drive some scene-related process.
- coin_base · Base Classes - This group is just a lot of basic types for linear algebra, string manipulation and misc. other utilities.
- Coin_books · 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_books · 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_bundles · Bundle Classes - The bundle classes are internal to Coin.
- coin_caches · Cache Classes - The cache classes are internal to Coin.
- coin_compression_overview · 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 cannot 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 See also
- coin_details · Detail Classes - Detail classes are objects that deliver additional information wherever the SoPrimitiveVertex class is used.
- coin_draggers · Dragger Classes - Draggers are interactive components in the scene graph that respond to, and are controlled by mouse and keyboard events.
- coin_dynload_overview · 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 Since
- coin_elements · Element Classes - The element classes in Coin are the containers of state information during action traversals of scene graphs.
- coin_engines · Engine Classes - Engines are scene based objects that convert between field values of various types or performs computations on them.
- Coin_environment_variables · 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
- coin_environment_variables · Environment variables Debug related: Font/Text rendering related: Runtime linking related: Sound related: Texture control related: Rendering (OpenGL) related: Caching related: Tessellation related: NURBS related: Work around driver bugs: Others:
- coin_envvars · Miscellaneous Environment Variables - Various aspects of the Coin runtime behaviour can be controlled through setting different environment variables to some value.
- coin_errors · Error Handling Classes - The error classes are static classes that contain a callback pointer for handling errors of the given type.
- coin_events · Event Classes - These classes are the event types you can send to a scene graph through the SoHandleEventAction.
- coin_fields · Field Classes - The fields are the data containers in the scene graph. Nodes and engines all use fields to store their public data.
- coin_foreign_file_support · Foreign File Format Support This is a page describing foreign file format support in Coin. Formats supported so far: 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 auto loading when implemented and tested See also
- coin_general · Miscellaneous Classes
- coin_hardcopy · Vectorized Printing Classes - The vectorized printing classes are for rendering to vector devices instead of raster devices.
- coin_libraries · 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 support 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 by the way)). 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 of 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 Microsoft Windows, and GLX on X Window 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 be 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. By the way, some versions of the OpenAL library delivered with installers from Creative on Microsoft 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 Microsoft 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. 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 are needed to build Coin. And last but definitely not least, Coin uses simage .
- coin_macros · Miscellaneous Macros - When extending Coin, there are a number of macros one needs to know about and use.
- coin_manips · Manipulator Classes - Manipulators are objects you can swap back and forth into a scene graph at locations where you have an SoTransform node.
- coin_multithreading_support · 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: 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). 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 reconfigure 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 rebuild 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 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_navigation · Navigation Classes - These contains the actual implementation of the ScXML based navigation system.
- coin_new_features · New Features in Coin
- coin_nodekits · NodeKit Classes - Nodekits modularize sub-structures of a scene graph.
- coin_nodes · Node Classes - Nodes are scene based objects performs various actions such as rendering.
- coin_profiler · Scene Graph Profiling - Coin includes some scene graph profiling functionality.
- coin_profiling_intro · Scene Graph Profiling
- coin_projectors · Projector Classes - The projector classes are used to convert between screenspace (2D) locations and locations in worldspace (3D).
- coin_related_pages · Related Pages Selected topics are covered in more depth using separate pages:
- coin_scxml · State Chart XML Classes - This set of classes is a basic implementation of State Chart XML.
- coin_sensors · Sensor Classes - Sensors are objects that monitor other objects for changes and invoke callbacks when changes occur.
- coin_shaders · Shader Classes - Shaders are programs that run on the graphics processor and replace the formerly fixed OpenGL pipeline.
- coin_shaders_page · 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: This will render the cube with the vertex and fragment shaders specified in myvertexshader.glsl and myfragmentshader.glsl. Coin also supports ARB shaders and Cg shaders (if the Cg library is installed). However, we recommend using GLSL since we will focus mostly on support this shader language. Coin defines some named parameters that can be added by the application programmer, and which will be automatically updated by Coin while traversing the scene graph. Example scene graph that renders per fragment OpenGL Phong lighting for one light source. The shaders assume the first light source is a directional light. This is the case if you open the file in a standard examiner viewer. The iv-file: The vertex shader (perpixel_vertex.glsl): The fragment shader (perpixel_fragment.glsl):
- coin_soscxml · Coin specific State Chart XML Classes - This set of classes implement a coin-specific mode of scxml.
- coin_sound · 3D Sound Support Classes
- coin_threads · Portable Threads Abstraction Classes
- coin_vbo_rendering · 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: Please note that since only one index array can be used, it might be necessary to supply duplicate normals and coordinates to meet this requirement. Also, if normals are needed, you have to supply them. A shape with autogenerated normals can't be rendered using vertex arrays (since a single coordinate might get multiple normals). The PointSet nodes can always be rendered using vertex arrays since these nodes haven't got index arrays, and the only bindings supported are PER_VERTEX and OVERALL. If it is inconvenient to create vertex array ready scene graphs directly from your application, it's also possible to use SoReorganizeAction to reorganize the geometry before rendering.
- coin_VRMLnodes · VRML97 Classes - Nodes implementing the VRML97 standard.
- coin_XML · XML related functions and objects - Coin now has its own XML parser that also can be used from client code.
- coin_xml_parsing · 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 3rd-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 cannot 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
- CoinResources · Static utility functions for managing data resources at the basic buffer level.
- collcoll.cpp · Implementation of CollectionCollection.
- collcoll.h · Header file that defines CollectionCollection.
- collision
- color_content · manipulate terminal colors with curses
- color_content_sp · curses screen-pointer extension
- COLOR_PAIR · manipulate terminal colors with curses
- color_set · manipulate attributes of character cells in curses windows
- ColorCmd · command for setting components' color attributes
- colormaptest · image processing library
- colormorphtest · image processing library
- colorPrint · libbash library for setting tty colors.
- colorPrintN · libbash library for setting tty colors.
- colorquant_reg · image processing library
- colorquanttest · image processing library
- colorReset · libbash library for setting tty colors.
- colors · libbash library for setting tty colors.
- colorsegtest · image processing library
- colorSet · libbash library for setting tty colors.
- colorspacetest · image processing library
- com_err · common error display routine
- comedi_apply_calibration · set hardware calibration from file
- comedi_apply_parsed_calibration · set calibration from memory
- comedi_arm · arm a subdevice
- comedi_arm_channel · arm a subdevice channel
- comedi_cancel · stop streaming input/output in progress
- comedi_cleanup_calibration · free calibration resources
- comedi_cleanup_calibration_file · free calibration resources
- comedi_close · close a Comedi device
- comedi_command · start streaming input/output
- comedi_command_test · test streaming input/output configuration
- comedi_data_read · read single sample from channel
- comedi_data_read_delayed · read single sample from channel after delaying for specified settling time
- comedi_data_read_hint · tell driver which channel/range/aref you are going to read from next
- comedi_data_read_n · read multiple samples from channel
- comedi_data_write · write single sample to channel
- comedi_digital_trigger_disable · disable a digital trigger
- comedi_digital_trigger_enable_edges · set digital trigger edge detection
- comedi_digital_trigger_enable_levels · set digital trigger level detection
- comedi_dio_bitfield · read/write multiple digital channels
- comedi_dio_bitfield2 · read/write multiple digital channels
- comedi_dio_config · change input/output properties of channel
- comedi_dio_get_config · query input/output properties of channel
- comedi_dio_read · read single bit from digital channel
- comedi_dio_write · write single bit to digital channel
- comedi_disarm · disarm a subdevice
- comedi_disarm_channel · disarm a subdevice channel
- comedi_do_insn · perform instruction
- comedi_do_insnlist · perform multiple instructions
- comedi_errno · number of last Comedilib error
- comedi_fileno · get file descriptor for open Comedilib device
- comedi_find_range · search for range
- comedi_find_subdevice_by_type · search for subdevice type
- comedi_from_phys · convert physical units to sample
- comedi_from_physical · convert physical units to sample using calibration data
- comedi_get_board_name · Comedi device name
- comedi_get_buffer_contents · streaming buffer status
- comedi_get_buffer_offset · streaming buffer status (deprecated)
- comedi_get_buffer_read_count · streaming buffer read count
- comedi_get_buffer_read_offset · streaming buffer read offset
- comedi_get_buffer_size · streaming buffer size of subdevice
- comedi_get_buffer_write_count · streaming buffer write count
- comedi_get_buffer_write_offset · streaming buffer write offset
- comedi_get_clock_source · get master clock for a subdevice
- comedi_get_cmd_generic_timed · streaming input/output capabilities
- comedi_get_cmd_src_mask · streaming input/output capabilities
- comedi_get_default_calibration_path · get default calibration file path
- comedi_get_driver_name · Comedi driver name
- comedi_get_gate_source · get gate for a subdevice
- comedi_get_hardcal_converter · get converter for hardware-calibrated subdevice
- comedi_get_hardware_buffer_size · get size of subdevice's hardware buffer
- comedi_get_max_buffer_size · maximum streaming buffer size
- comedi_get_maxdata · maximum sample of channel
- comedi_get_n_channels · number of subdevice channels
- comedi_get_n_ranges · number of ranges of channel
- comedi_get_n_subdevices · number of subdevices
- comedi_get_range · range information of channel
- comedi_get_read_subdevice · find streaming input subdevice
- comedi_get_routing · get routing for an output
- comedi_get_softcal_converter · get converter for software-calibrated subdevice
- comedi_get_subdevice_flags · properties of subdevice
- comedi_get_subdevice_type · type of subdevice
- comedi_get_timer · timer information (deprecated)
- comedi_get_version_code · Comedi version code
- comedi_get_write_subdevice · find streaming output subdevice
- comedi_internal_trigger · generate soft trigger
- comedi_lock · subdevice reservation
- comedi_loglevel · change Comedilib logging properties
- comedi_mark_buffer_read · streaming buffer control
- comedi_mark_buffer_written · streaming buffer control
- comedi_maxdata_is_chan_specific · maximum sample depends on channel
- comedi_open · open a Comedi device
- comedi_parse_calibration_file · load contents of calibration file
- comedi_perror · print a Comedilib error message
- comedi_poll · force updating of streaming buffer
- comedi_range_is_chan_specific · range information depends on channel
- comedi_reset · reset a subdevice
- comedi_reset_channel · reset a subdevice channel
- comedi_set_buffer_size · streaming buffer size of subdevice
- comedi_set_clock_source · set master clock for a subdevice
- comedi_set_counter_mode · change mode of a counter subdevice
- comedi_set_filter · select a filter for a subdevice
- comedi_set_gate_source · select gate source for a subdevice
- comedi_set_global_oor_behavior · out-of-range behavior
- comedi_set_max_buffer_size · streaming maximum buffer size of subdevice
- comedi_set_other_source · select source signal for something other than a gate or clock
- comedi_set_read_subdevice · set streaming input subdevice
- comedi_set_routing · select a routing for an output
- comedi_set_write_subdevice · set streaming output subdevice
- comedi_strerror · return string describing Comedilib error code
- comedi_sv_init · slowly-varying inputs
- comedi_sv_measure · slowly-varying inputs
- comedi_sv_update · slowly-varying inputs
- comedi_timed_1chan · streaming input (deprecated)
- comedi_to_phys · convert sample to physical units
- comedi_to_physical · convert sample to physical units using polynomials
- comedi_trigger · perform streaming input/output (deprecated)
- comedi_unlock · subdevice reservation
- comm_define · SNMP daemon loadable module interface
- Command · base class for command objects
- common-lisp-controller · Common Lisp system management tool
- common.h · GNU Common C++ global header.
- community · SNMP daemon loadable module interface
- compack · Pack a data field using a complex packing algorithm.
- compack.c · Pack a data field using a complex packing algorithm.
- comparetest · image processing library
- Comparison.h
- Comparison_functors
- compassscreenshots · QwtCompass
- compat · ast library compatibility routines
- compface · compress and expand 48x48x1 face image files
- compile · Compiling These instructions are for a machine running Unix or a Unix-like system. The codes work under recent versions of Linux, AIX, and IRIX at least. The vendor's compiler for each of these systems should work.
- complete_incremental_termination.hpp
- CompletionEditor · StringEditor with string completion
- Complex
- complex · complex arithmetic
- complex16_blas_level1 · complex16
- complex16_blas_level2 · complex16
- complex16_blas_level3 · complex16
- complex16_blas_testing · complex16
- complex16_eig · complex16
- complex16_lin · complex16
- complex16_matgen · complex16
- complex16GBauxiliary · complex16
- complex16GBcomputational · complex16
- complex16GBsolve · complex16
- complex16GEauxiliary · complex16
- complex16GEcomputational · complex16
- complex16GEeigen · complex16
- complex16GEsing · complex16
- complex16GEsolve · complex16
- complex16GTcomputational · complex16
- complex16GTsolve · complex16
- complex16HEauxiliary · complex16
- complex16HEcomputational · complex16
- complex16HEeigen · complex16
- complex16HEsolve · complex16
- complex16OTHERauxiliary · complex16
- complex16OTHERcomputational · complex16
- complex16OTHEReigen · complex16 Other Eigenvalue routines
- complex16OTHERsolve · complex16 Other Solve Routines
- complex16POauxiliary · complex16
- complex16POcomputational · complex16
- complex16POsolve · complex16
- complex16PTcomputational · complex16
- complex16PTsolve · complex16
- complex16SYauxiliary · complex16
- complex16SYcomputational · complex16
- complex16SYeigen · complex16
- complex16SYsolve · complex16
- complex_blas_level1 · complex
- complex_blas_level2 · complex
- complex_blas_level3 · complex
- complex_blas_testing · complex
- complex_eig · complex
- complex_lin · complex
- complex_matgen · complex
- complexGBauxiliary · complex
- complexGBcomputational · complex
- complexGBsolve · complex
- complexGEauxiliary · complex
- complexGEcomputational · complex
- complexGEeigen · complex
- complexGEsing · complex
- complexGEsolve · complex
- complexGTcomputational · complex
- complexGTsolve · complex
- complexHEauxiliary · complex
- complexHEcomputational · complex
- complexHEeigen · complex
- complexHEsolve · complex
- complexOTHERauxiliary · complex
- complexOTHERcomputational · complex
- complexOTHEReigen · complex Other Eigenvalue routines
- complexOTHERsolve · complex Other Solve Routines
- complexPOauxiliary · complex
- complexPOcomputational · complex
- complexPOsolve · complex
- complexPTcomputational · complex
- complexPTsolve · complex
- complexSYauxiliary · complex
- complexSYcomputational · complex
- complexSYeigen · complex
- complexSYsolve · complex
- Component · base class for objects that model domain-specific elements
- components · Qt Components
- ComponentView · base class for views of objects that model domain-specific elements
- composeBdd · substitutes an index by a BDD in another BDD
- composebddnode · substitutes a variable by a bdd in another bdd.
- Composite · The Composite widget class
- compound · multi-line compound image type.
- compression_overview · 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: See also:
- computationalGB · Computational routines
- computationalGE · Computational routines
- computationalGT · Computational routines
- computationalHE · Computational routines
- computationalPO · Computational routines
- computationalPT · Computational routines
- computationalSY · Computational routines
- compute_etime · device statistics utility library
- compute_stats · device statistics utility library
- comunpack · Unpack a data field that was packed using a complex packing algorithm as defined in the GRIB2 documention.
- comunpack.c · Unpack a data field that was packed using a complex packing algorithm as defined in the GRIB2 documention.
- Concat · concatenate a collection of strings
- concatname · concatenate two names with user separator
- cone · LA_CONSTANTS is a module for the scaling constants for the compiled Fortran single and double precisions
- confdb_context_get · Gets the context variable for a CONFDB instance
- confdb_context_set · Sets the context variable for a CONFDB instance
- confdb_dispatch · Dispatches callbacks from the CONFDB service
- confdb_fd_get · Dispatches callbacks from the CONFDB service
- confdb_finalize · Terminate a connection to the CONFDB service
- confdb_initialize · Create a new connection to the ConfDb service
- confdb_key_create · Add a new key/value pair to the Configuration Database
- confdb_key_delete · Delete a key/value pair from the Configuration Database
- confdb_key_get · Retreive key value from the Configuration Database
- confdb_key_iter · Iterate through key/value pairs in the Configuration Database
- confdb_key_iter_start · Iterate through key/value pairs in the Configuration Database
- confdb_key_replace · Replace a key/value pair from the Configuration Database
- confdb_object_create · Create a new object in the Configuration Database
- confdb_object_destroy · Remove an object from the Configuration Database
- confdb_object_find · Find a named object in the Configuration Database
- confdb_object_find_start · Find a named object in the Configuration Database
- confdb_object_iter · Iterate through objects in the Configuration Database
- confdb_object_iter_start · Iterate through objects in the Configuration Database
- confdb_object_parent_get · Configuration Database Object Parent
- config.h
- Config::Grammar
- config_group
- config_perror · netsnmp_config_api functions
- config_pwarn · netsnmp_config_api functions
- config_values_s
- config_values_t · Data type of structure config_values_s.
- configFileLoad · parse a configuration file
- Configuration · reads the configuration file and manages it in memory.
- ConfigWidg · process configuration options for widgets
- ConfigWind · change window configuration or attributes
- ConflictHandler · To track addresses of sources conflicting with the local one.
- ConflictHandler_ConflictingTransportAddress
- confmodule · communicate with Debian configuration system FrontEnd.
- confstr · get configuration dependent string variables
- confuse.h · A configuration file parser library.
- conj · calculate the complex conjugate
- conjf · calculate the complex conjugate
- conjl · calculate the complex conjugate
- conmbkrds · converts MBK connector to RDS rectangle
- ConnectionNumber · Display macros and functions
- Connector · base classes for connector subjects and views
- ConnectTool · tool for connecting connectors
- Constants · Meaning of MPI's defined constants
- constants.h · Common constants used in decoder and encoder API.
- Constraint · The Constraint widget class
- constraintBdd · restricts a BDD to another BDD
- Containers
- Context · create/destroy a rendering context
- context_free · Routines to manipulate SELinux security contexts
- context_new · Routines to manipulate SELinux security contexts
- context_range_get · Routines to manipulate SELinux security contexts
- context_range_set · Routines to manipulate SELinux security contexts
- context_role_get · Routines to manipulate SELinux security contexts
- context_role_set · Routines to manipulate SELinux security contexts
- context_str · Routines to manipulate SELinux security contexts
- context_type_get · Routines to manipulate SELinux security contexts
- context_type_set · Routines to manipulate SELinux security contexts
- context_user_get · Routines to manipulate SELinux security contexts
- context_user_set · Routines to manipulate SELinux security contexts
- contrasttest · image processing library
- Control · select and execute an action
- ControlInfo · object for storing control-related information
- controlscreenshots · Dials, Compasses, Knobs, Wheels, Sliders, Thermos
- conversion_reg · image processing library
- convertbddcircuitabl · converts a bdd node to an abl expression.
- convertbddcircuitsumabl · converts a bdd node to an abl expression.
- convertbddindexabl · converts a bdd index to an abl expression.
- convertbddmuxabl · converts two bdd nodes to an abl multiplexor expression.
- convertbddnodeabl · converts a bdd node to an abl expression.
- convertbddnodesumabl · converts a bdd node to an abl expression.
- convertfilestops · image processing library
- convertformat · image processing library
- converttogray · image processing library
- converttops · image processing library
- convolvetest · image processing library
- coord_list · Header file for NCEPLIBS-g2c library.
- CoordToWin · Find window containing a point
- coprocess · execute a command in coprocessing mode
- coprocs · execute a command in coprocessing mode
- coprocse · execute a command in coprocessing mode
- coprocsp · execute a command in coprocessing mode
- coprocspe · execute a command in coprocessing mode
- coprocv · execute a command in coprocessing mode
- coprocve · execute a command in coprocessing mode
- coprocvp · execute a command in coprocessing mode
- coprocvpe · execute a command in coprocessing mode
- copy · copy: y = x
- copyChar · Cdk miscellaneous routines
- copyCharList · Cdk miscellaneous routines
- copyChtype · Cdk miscellaneous routines
- copyChtypeList · Cdk miscellaneous routines
- copyfile · copy a file
- copysign · copy sign of a number
- copysignf · copy sign of a number
- copysignl · copy sign of a number
- copywin · overlay curses windows and manipulate them
- Core · The Core widget class
- core.hpp
- corelinux · Forward reference the various common classes.
- corelinux.cpp
- corelinux__CSAGroupHeader · Describes a CSA semaphore group.
- corelinux__CSAHeader · Describes the tip control block for the Common Storage Area (CSA).
- corelinux__CSASemaphoreHeader · Describes a CSA semaphore entry.
- corelinux_AbstractAllocator · AbstractAllocator is a abstract template which provides for the extension of memory managment on a TypeImpl object by TypeImpl object basis.
- corelinux_AbstractCommand · AbstractCommand captures the semantics of the capabilities of commands, which is basically to provide a execution context.
- corelinux_AbstractFactory · AbstractFactory provides an interface for creating families of related or dependent objects without specifying their concrete classes.
- corelinux_AbstractFactoryException · AbstractFactoryException is the base exception type for AbstractFactory.
- corelinux_AbstractSemaphore · A AbstractSemaphore supports the protocol that processes and/or threads agree to follow for the purpose of controlled access to a resource.
- corelinux_AbstractString · AbstractString is a temporary base abstraction.
- corelinux_Adapter · An Adapter converts the interface of a class into another interface that clients expect.
- corelinux_Allocator · Allocator is a Strategy class used by AbstractAllocator and AbstractFactory.Each Allocator instance tracks allocates and deallocates.
- corelinux_AllocatorAlreadyExistsException · AllocatorAlreadyExistsException is an exception that is usually thrown when a add of an Allocator collides in a AbstractFactory implementation.
- corelinux_AllocatorNotFoundException · AllocatorNotFoundException is an exception that is usually thrown when a AbstractFactory attempts to use a specific Allocator.
- corelinux_Assertion · Assertion is-a Exception created when an assertion fails.
- corelinux_AssociativeIterator · The AssociativeIterator that extends Iterator to include the interface for describing an associative collection type without exposing its underlying representation.
- corelinux_BoundsException · BoundsException is a type of StorageException, characterized when access to a storage object is invalid.
- corelinux_Bridge · When an abstraction can have one of several possible implementations, the usual way to accommodate them is to use inheritance.
- corelinux_Builder · Builder seperates the construction of a complex object from its representation so that the same construction process can create different representations.
- corelinux_Colleague · Colleague knows its Mediator object, communicates with its mediator whenever it would have otherwise communicated with another Colleague.
- corelinux_Command · Command captures the semantics of allowing commands to be added as a reverse command type.
- corelinux_CommandFrame · CommandFrame builds a unit of work around one or more Commands.
- corelinux_CommandFrameException · CommandFrameException is the base exception type for CommandFrame.
- corelinux_Component · A Component declares the interface for the objects in a composition and implements default behavior.
- corelinux_CompositeException · CompositeException is the base exception type for Composite.
- corelinux_Context · Context defines the interface to clients and maintains an instance of a State subclass.
- corelinux_CoreLinuxAssociativeIterator · The CoreLinuxAssociativeIterator provides a way to access the elements of any of the associative STL collections, by defining a CoreLinuxAssociativeIterator with a CORELINUX_COLLECTION nameAssociativeIterator definition, the KeyType and the Element Type.
- corelinux_CoreLinuxGuardGroup · A CoreLinuxGuardGroup is an extension to the SemaphoreGroup for creating semaphores for the CoreLinuxGuardPool.
- corelinux_CoreLinuxGuardPool · The CoreLinuxGuardPool is a private SemaphoreGroup resource for class objects that require synchronization capability.
- corelinux_CoreLinuxIterator · The CoreLinuxIterator provides a way to access the elements of any of the non-associative STL collections.
- corelinux_CoreLinuxObject · An CoreLinuxObject is a base class for the library.
- corelinux_Decorator · Decorators can attach additional responsibilities to an object dynamically which provide a more flexible alternative to subclassing for extending functionality.
- corelinux_Environment · Environment is a class utility which encapsulates.
- corelinux_Event · Event provides a type basis for event ontologies.
- corelinux_EventSemaphore · EventSemaphore implements a way to queue its caller until a certain event takes place.
- corelinux_EventSemaphoreGroup · A EventSemaphoreGroup is an extension to the SemaphoreGroup for creating only EventSemaphore types.
- corelinux_Exception · Exception is the base exception class used in the CoreLinux++ libraries.
- corelinux_Facade · Structuring a system into subsystems helps reduce complexity.
- corelinux_Flyweight · Flyweight type is used to support large numbers of fine-grained objects.
- corelinux_GatewaySemaphore · GatewaySemphore enables a depth of resource indicator.
- corelinux_GatewaySemaphoreGroup · A GatewaySemaphoreGroup is an extension to the SemaphoreGroup for creating only GatewaySemaphore types.
- corelinux_GuardSemaphore · GuardSemaphore is a special case semaphore for use by the CoreLinuxGuardPool.
- corelinux_Handler · Defines an interface for handling requests, accessing successors, and optionally implements the successor link.
- corelinux_Identifier · An Identifier is a abstract representation of identity.
- corelinux_InvalidCompositeException · InvalidCompositeException is an exception that is usually thrown when a composite operation is attempted on a leaf component.
- corelinux_InvalidIteratorException · InvalidIteratorException is an exception that indicates a Iterator could not be properly formed for some reason.
- corelinux_InvalidThreadException · InvalidThreadException describes an exception that is thrown when a operation is attempted on a non-managed thread context.
- corelinux_Iterator · The Iterator provides a way to access the elements of an collection type sequentially without exposing its underlying representation.
- corelinux_IteratorBoundsException · IteratorBoundsException is thrown when a Iterator has position before the begining or past the end positions of its implementation.
- corelinux_IteratorException · IteratorException is the base exception type for Iterator.
- corelinux_Limits · Limits is to provide information regarding CoreLinux++ scalar types.
- corelinux_Mediator · Mediator declares an interface for communicating with Colleague objects.
- corelinux_Memento · Memento knows its Mediator object, communicates with its mediator whenever it would have otherwise communicated with another Memento.
- corelinux_Memory · Memory is high speed transient storage managed by the operating system, for both itself and user processes, used to store data and programs.
- corelinux_MemoryStorage · MemoryStorage is type of Storage characterized as transient and high speed.
- corelinux_MutexSemaphore · MutexSemaphore implements a mutual exclusion control which can be used to insure that at most one (1) task has access at a time.
- corelinux_MutexSemaphoreGroup · A MutexSemaphoreGroup is an extension to the SemaphoreGroup for creating only MutexSemaphore types.
- corelinux_NullPointerException · NullPointerException is the base exception type for NullPointer.
- corelinux_Observer · Observer observes Subjets and supports the event interface for recieving subject event notifications.
- corelinux_PoolDescriptor · PoolDescriptor stores information about the ownership and usage of a semaphore in the pool.
- corelinux_Prototype · Specify the kinds of objects to create using a prototypical instance, and create new objects by copying (cloning) this prototype.
- corelinux_Proxy · Provide a surrogate or placeholder for another object to control access to it.
- corelinux_Request · A Request is used for type identification to a handler object.