H3D API
2.4.1
|
Header file for H3DNodeDatabase. More...
#include <H3D/H3DApi.h>
#include <H3D/Field.h>
#include <iostream>
#include <string>
#include <map>
#include <list>
#include <typeinfo>
Go to the source code of this file.
Classes | |
struct | H3D::FieldDBElement |
A FieldDBElement is an encapsulation of a field in a H3DNodeDatabase. More... | |
struct | H3D::DynamicFieldDBElement |
The DynamicFieldDBElement is a FieldDBElement for fields that are not actual members of a Node class, but instead are defined and added at runtime, e.g. More... | |
struct | H3D::FieldDBTemplate< N, F > |
Template class for specifying specialized FieldDBElement instances. More... | |
struct | H3D::H3DNodeDatabase |
The H3DNodeDatabase contains a mapping between a name of a Node and the constructor for the Node with that name. More... | |
struct | H3D::H3DNodeDatabase::TypeInfoWrapper |
Wrapper class to be able to put type_info as a key in a map. More... | |
class | H3D::H3DNodeDatabase::FieldDBConstIterator |
The FieldDBConstIterator is an iterator class used for iterating over the field instances in an H3DNodeDatabase. More... | |
Namespaces | |
H3D | |
H3D API namespace. | |
Macros | |
#define | FIELDDB_ELEMENT(base, field, access) FieldDBInsert field( access( &base::database, #field, &base::field ) ); |
Useful macro for cleaner field definitions. | |
#define | FIELDDB_ELEMENT_EX(base, field, access, fieldst) FieldDBInsert fieldst( access( &base::database, #fieldst, &base::field ) ); |
Additional macro to support VRML names that are different from C++. | |
Functions | |
template<class N , class F > | |
FieldDBTemplate< N, F > * | H3D::INITIALIZE_ONLY (H3DNodeDatabase *_container, const std::string &_name, H3DUniquePtr< F > N::*_ptr) |
Specialization to handle case where access type is INITIALIZE_ONLY. | |
template<class N , class F > | |
FieldDBTemplate< N, F > * | H3D::OUTPUT_ONLY (H3DNodeDatabase *_container, const std::string &_name, H3DUniquePtr< F > N::*_ptr) |
Specialization to handle case where access type is OUTPUT_ONLY. | |
template<class N , class F > | |
FieldDBTemplate< N, F > * | H3D::INPUT_ONLY (H3DNodeDatabase *_container, const std::string &_name, H3DUniquePtr< F > N::*_ptr) |
Specialization to handle case where access type is INPUT_ONLY. | |
template<class N , class F > | |
FieldDBTemplate< N, F > * | H3D::INPUT_OUTPUT (H3DNodeDatabase *_container, const std::string &_name, H3DUniquePtr< F > N::*_ptr) |
Specialization to handle case where access type is INPUT_OUTPUT. | |
Header file for H3DNodeDatabase.