Graphite  Version 3
An experimental 3D geometry processing program
OGF Namespace Reference

Global Graphite namespace. More...

Namespaces

 Preferences
 Utility functions to manipulate preferences.
 

Classes

class  basic_libinit
 
class  Box2d
 A 2d axis aligned box. More...
 
class  Box3d
 A 3d axis aligned box. More...
 
class  ModuleManager
 Manages dynamically loadable modules. More...
 
class  Module
 Represents information associated with a module (i.e. a plugin). More...
 
class  FileManager
 FileManager retreives the files used by Graphite (icons, plugins). More...
 
class  BasicFactory
 
class  GenericBasicFactory
 
class  BasicFactories
 
class  BasicFactoryWithArg
 
class  GenericBasicFactoryWithArg
 
class  BasicFactoriesWithArg
 
class  SceneGraphDevelCommands
 Commands to create new plugins, Grob class names, Tool, Commands and Shader. More...
 
class  devel_libinit
 
class  ModuleMaker
 Generates plugins using skeletons in lib/devel/. More...
 
class  GomCodeGenerator
 Generates C++ code to create the GOM meta information. More...
 
class  gom_libinit
 
class  Scope
 A naming scope in an Interpreter. More...
 
class  GlobalScope
 The Scope that contains all global variables of an Interpreter. More...
 
class  InterfaceScope
 The Scope that contains all interfaces of an object. More...
 
class  MetaTypesScope
 A Scope that contains MetaTypes. More...
 
class  Interpreter
 Abstract base class for the GOM interpreter. More...
 
class  LuaCallable
 GOM wrapper around a LUA function. More...
 
class  LuaInterpreter
 The main class that interfaces the Python interpreter with Graphite. More...
 
class  DynamicObject
 An object with a class that can be created in Lua. More...
 
class  DynamicFactoryMetaClass
 
class  DynamicMetaSlot
 A slot in a dynamically-created class. More...
 
class  DynamicMetaClass
 A MetaClass that can be created in Lua. More...
 
class  Meta
 Stores all the meta information of the system, used by the reflection API. More...
 
class  ogf_meta
 Provides easy access to meta information from C++ types. More...
 
class  MetaArg
 The representation of the arguments in the Meta repository. More...
 
class  MetaBuiltinType
 MetaType for builting types. More...
 
class  MetaClass
 The representation of a class in the Meta repository. More...
 
class  FactoryMetaClass
 A Factory that uses a MetaClass. More...
 
class  MetaConstructor
 The representation of a constructor in the Meta repository. More...
 
class  MetaEnum
 MetaType for enums. More...
 
class  MetaMember
 The base class for class members in the Meta repository. More...
 
class  MetaMethod
 The representation of a method in the Meta repository. More...
 
class  MetaMethodSetProperty
 A MetaMethod that corresponds to the setter of a property. More...
 
class  MetaMethodGetProperty
 A MetaMethod that corresponds to the getter of a property. More...
 
class  MetaProperty
 The representation of a property in the Meta repository. More...
 
class  MetaSignal
 The representation of a signal in the Meta repository. More...
 
class  MetaSlot
 The representation of a slot in the Meta repository. More...
 
class  CustomAttributes
 Stores a set of custom attributes, i.e. name-value pairs attached to the objects. More...
 
class  MetaInformation
 Base class for everything that resides in the Meta repository. More...
 
class  MetaType
 The representation of a type in the Meta repository. More...
 
class  Factory
 Creates instances of a specific class. More...
 
class  LifeCycle
 Manages the life cycle of an object. More...
 
class  GenericLifeCycle
 Concrete implementation of LifeCycle. More...
 
class  Serializer
 Abstract base class for reading and writing values from/to streams. More...
 
class  StringSerializer
 Implementation of Serializer for std::string. More...
 
class  BoolSerializer
 Implementation of Serializer for bool. More...
 
class  PointerSerializer
 Implementation of Serializer for pointers. More...
 
class  EnumSerializer
 Implementation of Serializer for enums. More...
 
class  GenericSerializer
 Generic implementation of Serializer. More...
 
class  GenericSerializer< ArgList >
 A specialization of GenericSerializer for ArgList. More...
 
class  Any
 A class that stores a variable of arbitrary type. More...
 
class  NameBase
 Base class for all Names in Graphite (GrobName ...). More...
 
class  ArgList
 Represents a list of name-value pairs. More...
 
class  Callable
 A Callable object. More...
 
class  Request
 A pointer to an object and to a meta-method of that object (a very limited notion of "closure"). More...
 
class  Connection
 
class  SlotConnection
 A Connection between a signal and a slot. More...
 
class  CallableConnection
 A Connection between a signal and an abstract Callable object. More...
 
class  ConnectionList
 A list of connections. More...
 
class  ogf_declare_builtin_type
 A class to declare a new builtin type. More...
 
class  ogf_declare_builtin_type< bool >
 ogf_declare_builtin_type specialization for bool. More...
 
class  ogf_declare_builtin_type< void >
 ogf_declare_builtin_type specialization for void. More...
 
class  ogf_declare_builtin_type< std::string >
 ogf_declare_builtin_type specialization for std::string. More...
 
class  ogf_declare_pointer_type
 a version of ogf_declare_builtin_type specialization for pointers. More...
 
class  ogf_declare_enum
 A class to declare a new enum type. More...
 
class  ogf_declare_class
 A class to declare a class type. More...
 
class  ogf_declare_abstract_class
 A class to declare an abstract class type. More...
 
class  Node
 A composite object in the GOM system. More...
 
class  Object
 Base class for all objects in the GOM system. More...
 
class  gom_gom_libinit
 
class  LuaGrobCommands
 Base class for Commands related with a LuaGrob object. More...
 
class  LuaFile
 Just a place-holder to define a type for LUA file names. More...
 
class  LuaGrobProgramCommands
 Commands to load and save the LUA program in a LuaGrob. More...
 
class  LuaGrobShaderCommands
 Commands to load and save the LUA shader program in a LuaGrob. More...
 
class  luagrob_libinit
 
class  LuaGrob
 A Grob class for luagrob grids. More...
 
class  LuaGrobShader
 Base class for drawing and picking LuaGrob. More...
 
class  PlainLuaGrobShader
 The default implementation of LuaGrobShader. More...
 
class  Filter
 A class to select subsets in an array. More...
 
class  MeshGrobAttributesCommands
 Commands that manipulate mesh attributes. More...
 
class  MeshGrobCommands
 Base class for Commands related with a MeshGrob object. More...
 
class  MeshGrobFiltersCommands
 Commands that manipulate mesh attributes. More...
 
class  MeshGrobMeshCommands
 Commands that manipulate the mesh in a MeshGrob. More...
 
class  MeshGrobPointsCommands
 Commands that manipulate point sets. More...
 
class  MeshGrobSelectionsCommands
 Commands that manipulate mesh selections. More...
 
class  MeshGrobShapesCommands
 Commands that create simple shapes. More...
 
class  MeshGrobSpectralCommands
 Commands that create simple shapes. More...
 
class  MeshGrobSurfaceCommands
 Commands that manipulate surface meshes. More...
 
class  MeshGrobVolumeCommands
 Commands that manipulate volume meshes. More...
 
class  mesh_libinit
 
class  MeshGrob
 A Grob wrapper around Geogram's Mesh class. More...
 
class  MeshGrobEditor
 A wrapper to script low-level editing operations on a MeshGrob. More...
 
class  MeshGrobVisibilityCommands
 Commands that compute elements visibility. More...
 
class  mesh_gfx_libinit
 
class  MeshGrobShader
 Base class for drawing and picking MeshGrob. More...
 
class  PlainMeshGrobShader
 The default implementation of MeshGrobShader. More...
 
class  ExplodedViewMeshGrobShader
 Exploded view, moves regions apart. More...
 
class  ParamMeshGrobShader
 A MeshGrobShader to display parameter space. More...
 
class  PDBMeshGrobShader
 
class  MeshGrobGlueEdges
 A Tool that glues edges on the border. More...
 
class  MeshGrobUnglueEdges
 A Tool that unglues two edges, thus forming a new border. More...
 
class  MeshGrobGlueUnglueEdges
 A Tool that glues/unglues edges depending on the pushed mouse button. More...
 
class  MeshGrobZipEdges
 A Tool that zips two edges on the border, starting from their common vertex. More...
 
class  MeshGrobZipUnzipEdges
 A Tool that zips/unzips edges depending on the pushed mouse button. More...
 
class  MeshGrobConnectEdges
 A Tool that connects two picked mesh facet edges on the border. More...
 
class  MeshGrobConnectDisconnectEdges
 A Tool that zips/unzips edges depending on the pushed mouse button. More...
 
class  MeshGrobTransformComponent
 A tool that translates/scales/rotates a mesh connected component depending on the pushed mouse button. More...
 
class  MeshGrobRemoveComponent
 A tool that removes a connected component of a mesh. More...
 
class  MeshGrobKeepOrRemoveComponent
 A tool that removes a connected component of a mesh or its complement depending on the pushed mouse button. More...
 
class  MeshGrobCopyComponent
 A tool that copies and drags a connected component of a mesh. More...
 
class  MeshGrobFlipComponent
 A tool that flips the normals of a connected component. More...
 
class  MeshGrobCreateEdge
 A tool that creates an edge between two vertices. More...
 
class  MeshGrobCreateCenterVertex
 A tool that creates a vertex in the center of a facet. More...
 
class  MeshGrobRemoveCenterVertex
 A tool that removes a vertex and merges all incident facets. More...
 
class  MeshGrobEditCenterVertex
 A tool that creates/removes a vertex in a facet depending on the pushed mouse button. More...
 
class  MeshGrobRemoveIncidentFacets
 A tool that removes all facets incident to a vertex. More...
 
class  MeshGrobRemoveFacet
 A tool that removes a facet. More...
 
class  MeshGrobFillHole
 A tool that fills a hole by creating a new facet. More...
 
class  MeshGrobEditHole
 A tool that create or removes a facet, depending on the pushed mouse button. More...
 
class  MeshGrobTransformFacet
 A tool that translates/scales/rotates a facet depending on the pushed mouse button. More...
 
class  MeshGrobJoinFacets
 A tool that joins two adjacent facet to form a single one. More...
 
class  MeshGrobSplitFacet
 A tool that splits a facet by creating a new edge between two picked vertices. More...
 
class  MeshGrobEditFacetEdge
 A tool that splits/merges facets depending on the pushed mouse button. More...
 
class  MeshGrobPaintTool
 
class  MeshGrobPaintRect
 A rect selection tool that paints attribute values in a mesh. More...
 
class  MeshGrobPaint
 A tool that paints attribute values in a mesh. More...
 
class  MeshGrobPaintFreeform
 Paint attributes using free-form selection. More...
 
class  MeshGrobPaintConnected
 Paint attributes in connected components. More...
 
class  MeshGrobProbe
 A tool that probes attribute values in a mesh. More...
 
class  MeshGrobRuler
 A tool that measures distances. More...
 
class  MeshGrobSelectVertex
 A tool that selects a vertex. More...
 
class  MeshGrobUnselectVertex
 A tool that unselects a vertex. More...
 
class  MeshGrobSelectUnselectVertex
 A tool that selects/unselects a vertex depending on the pushed mouse button. More...
 
class  MeshGrobTool
 Base class for tools that operate on MeshGrob. More...
 
class  MeshGrobTransformSubset
 Base class of tools that apply 3d transform to a subset of a MeshGrob and that are attached to a MultiTool (or a MeshGrobTransformTool). More...
 
class  MeshGrobMoveSubset
 Applies a mouse-controlled translation to a subset. More...
 
class  MeshGrobResizeSubset
 Applies a mouse-controlled scaling to a subset. More...
 
class  MeshGrobScrollResizeSubset
 Applies a mouse-controlled scaling to a subset. More...
 
class  MeshGrobRotateSubset
 Applies a mouse-controlled rotation to a subset. More...
 
class  MeshGrobTransformTool
 A MultiTool that applies a mouse-controlled transform to a subset. More...
 
class  renderer_libinit
 
class  Overlay
 A display list that memorizes simple graphic primitives to be displayed over the 3D rendering window. More...
 
class  RenderingContext
 Helper class for OpenGL context management. More...
 
class  Texture
 An OpenGL texture. More...
 
class  Interface
 Represents additional functions that can be attached to an object. More...
 
class  Commands
 Represents a set of commands. More...
 
class  SceneGraphCommands
 Base class for Commands that act on the whole SceneGraph. More...
 
class  SceneGraphSceneCommands
 Some commands that act on the whole SceneGraph. More...
 
class  scene_graph_libinit
 
class  CompositeGrobScope
 An Interpreter Scope that corresponds to the objects in a CompositeGrob. More...
 
class  CompositeGrob
 A Composite Graphite Object. More...
 
class  Grob
 Base class for all 3D Graphite objects. More...
 
class  ApplicationBase
 Base class for Application. More...
 
class  InputGraphiteFile
 An extension of InputGeoFile for storing a complete Graphite scenegraph in a structured binary file. More...
 
class  OutputGraphiteFile
 An extension of InputGeoFile for storing a complete Graphite scenegraph in a structured binary file. More...
 
struct  PointStyle
 Drawing style for points. More...
 
struct  EdgeStyle
 Drawing style for mesh edges. More...
 
struct  SurfaceStyle
 Drawing style for polygons. More...
 
class  Name
 A template class for strings that need to have a specific type in the GOM system. More...
 
class  File
 Just a placeholder template to create new Name<> types for file names. More...
 
struct  ColormapStyle
 The style used to display colormapped colors. More...
 
class  SceneGraph
 Represents the list of objects loaded in Graphite. More...
 
class  SceneGraphLibrary
 Provides functions to dynamically declare new Grob classes, commands, shaders and tools. More...
 
class  ogf_register_grob_type
 Helper class to register a new Grob class. More...
 
class  ogf_register_abstract_grob_type
 Helper class to register a new abstract Grob class. More...
 
class  ogf_register_grob_read_file_extension
 Helper class to register a new file extension for reading. More...
 
class  ogf_register_grob_write_file_extension
 Helper class to register a new file extension for writing. More...
 
class  ogf_register_grob_shader
 Helper class to register a new Shader associated with a Grob. More...
 
class  ogf_register_grob_interface
 Helper class to register a new Commands associated with a Grob. More...
 
class  ogf_register_grob_commands
 Helper class to register a new Commands associated with a Grob. More...
 
class  ogf_register_grob_tool
 Helper class to register a new Tool associated with a Grob. More...
 
class  ogf_register_full_screen_effect
 Helper class to register a new FullScreenEffect. More...
 
class  scene_graph_gfx_libinit
 
class  AmbientOcclusion
 GOM wrapper around AmbientOcclusionImpl. More...
 
class  FullScreenEffect
 A Full screen effect. More...
 
class  PlainFullScreenEffect
 The default dummy implementation of FullScreenEffect, that does nothing. More...
 
class  UnsharpMasking
 A GOM wrapper around UnsharpMaskingImpl. More...
 
class  SceneGraphShaderManager
 Manages the shaders and full screen effects for the entire SceneGraph. More...
 
class  Shader
 Base class for Grob shader. More...
 
class  ShaderManager
 Manages the Shader objects associated with a Grob. More...
 
class  CheckerSphere
 Draws a sphere with a colored checkerboard. More...
 
class  GrobLight
 The camera panning tool. More...
 
class  GrobPan
 The camera panning tool. More...
 
class  GrobSelect
 The object selection tool. More...
 
class  SceneGraphToolsManager
 Manages the tools for the entire SceneGraph. More...
 
class  Tool
 Base class for the tools. More...
 
class  MultiTool
 A Tool that can associate a different tool to each button of the mouse. More...
 
class  ToolsManager
 Manages the Tool objects associated with a given Grob class. More...
 
class  ArcBall
 Enables to interactively define a rotation. More...
 
struct  RayPick
 Represents the information related with a picking event. More...
 
class  RayPicker
 Converts a 2D picking in a rendering window into a ray picking event. More...
 
class  Transform3d
 Controls a 3d transform by different means. More...
 
class  Translation
 Enables to interactively define a 2d translation. More...
 
class  skin_imgui_libinit
 
class  Application
 Implementation of Skin application using ImGui. More...
 
class  Camera
 Application attributes and methods related with camera management. More...
 
class  IconRepository
 Keeps the correspondence between names and cached icons. More...
 
class  SkinImGUIRenderingContext
 A class derived from RenderingContext that interfaces the Application class with Graphite. More...
 
class  Console
 A console for Graphite. More...
 
class  RenderArea
 Implementation of RenderArea using ImGui. More...
 
class  TextEditor
 A TextEditor for writing LUA functions. More...
 
class  VoxelGrobAttributesCommands
 Commands that manipulate voxel attributes. More...
 
class  VoxelGrobCommands
 Base class for Commands related with a VoxelGrob object. More...
 
class  voxel_libinit
 
class  VoxelGrob
 A Grob class for voxel grids. More...
 
class  VoxelGrobEditor
 A wrapper to script low-level editing operations on a VoxelGrob. More...
 
class  voxel_gfx_libinit
 
class  VoxelGrobShader
 Base class for drawing and picking VoxelGrob. More...
 
class  PlainVoxelGrobShader
 The default implementation of VoxelGrobShader. More...
 

Typedefs

typedef SmartPointer< ModuleModule_var
 An automatic reference-counted pointer to a Module object.
 
typedef Name< Module * > DynamicModuleName
 The name of a dynamic module (plugin). More...
 
typedef SmartPointer< ScopeScope_var
 
typedef SmartPointer< InterpreterInterpreter_var
 
typedef std::vector< MetaArgMetaArgList
 Meta representation of a list of arguments.
 
typedef SmartPointer< MetaBuiltinTypeMetaBuiltinType_var
 Automatic reference-counted pointer to a MetaBuiltinType.
 
typedef SmartPointer< MetaClassMetaClass_var
 An automatic reference-counted pointer to a MetaClass.
 
typedef SmartPointer< MetaEnumMetaEnum_var
 Automatic reference-counted pointer to a MetaEnum.
 
typedef SmartPointer< MetaMemberMetaMember_var
 Automatic reference-counted pointer to a MetaMember.
 
typedef bool(* gom_method_adapter) (Object *target, const std::string &method_name, const ArgList &args, Any &ret_val)
 Function pointer types for method adapters. More...
 
typedef SmartPointer< MetaMethodMetaMethod_var
 Automatic reference-counted pointer to a MetaMethod.
 
typedef SmartPointer< MetaPropertyMetaProperty_var
 Automatic reference-counted pointer to a MetaProperty.
 
typedef SmartPointer< MetaSignalMetaSignal_var
 Automatic reference-counted pointer to a MetaSignal.
 
typedef SmartPointer< MetaSlotMetaSlot_var
 Automatic reference-counted pointer to a MetaSlot.
 
typedef SmartPointer< MetaTypeMetaType_var
 Automatic reference-counted pointer to a MetaType.
 
typedef SmartPointer< FactoryFactory_var
 Automatic reference-counted pointer to a Factory.
 
typedef SmartPointer< LifeCycleLifeCycle_var
 A reference_counted pointer to a LifeCycle.
 
typedef SmartPointer< SerializerSerializer_var
 Automatic reference-counted pointer to a Serializer.
 
typedef SmartPointer< CallableCallable_var
 A reference-counted pointer to a Callable.
 
typedef SmartPointer< RequestRequest_var
 A reference-counted pointer to a Request.
 
typedef SmartPointer< ConnectionConnection_var
 An automatic reference-counted pointer to a Connection.
 
typedef SmartPointer< NodeNode_var
 An automatic reference-counted pointer to a Node.
 
typedef SmartPointer< ObjectObject_var
 An automatic reference-counted pointer to an Object.
 
typedef Name< LuaFileLuaFileName
 The name of an existing LUA (.lua) file.
 
typedef Name< LuaFile, true > NewLuaFileName
 The name of an existing or not LUA (.lua) file.
 
typedef Name< LuaGrob * > LuaGrobName
 The name of an existing LuaGrob in the SceneGraph. More...
 
typedef Name< LuaGrob *, true > NewLuaGrobName
 The name of an (existing or not) LuaGrob in the SceneGraph. More...
 
typedef Name< MeshGrob * > MeshGrobName
 The name of an existing MeshGrob in the SceneGraph. More...
 
typedef Name< MeshGrob *, true > NewMeshGrobName
 The name of an (existing or not) MeshGrob in the SceneGraph. More...
 
typedef SmartPointer< RenderingContextRenderingContext_var
 
typedef SmartPointer< TextureTexture_var
 
typedef SmartPointer< InterfaceInterface_var
 
typedef SmartPointer< CommandsCommands_var
 
typedef SmartPointer< CompositeGrobCompositeGrob_var
 An automatic reference-counted pointer to a CompositeGrob.
 
typedef SmartPointer< GrobGrob_var
 An automatic reference-counted pointer to a Grob.
 
typedef Name< File< Memory::byte > > FileName
 The name of an existing file. More...
 
typedef Name< File< Memory::byte >, true > NewFileName
 The name of a new file. More...
 
typedef Name< File< Image * > > ImageFileName
 The name of an existing file that contains an Image. More...
 
typedef Name< File< Image * >, true > NewImageFileName
 The name of an (existing or not) file that contains an Image. More...
 
typedef Name< Grob * > GrobName
 The name of an existing Grob in the SceneGraph. More...
 
typedef Name< Grob *, true > NewGrobName
 The name of an (existing or not) Grob in the SceneGraph. More...
 
typedef Name< File< Grob * > > GrobFileName
 The name of an existing file that contains an object. More...
 
typedef Name< File< Grob * >, true > NewGrobFileName
 The name of an (existing or not) file that contains an object. More...
 
typedef Name< GrobClass * > GrobClassName
 The name of a Grob class. More...
 
typedef Name< Colormap * > ColormapName
 The name of a colormap. More...
 
typedef Name< FullScreenEffect * > FullScreenEffectName
 The name of a full screen effect. More...
 
typedef SmartPointer< FullScreenEffectFullScreenEffect_var
 An automatic reference-counted pointer to a FulLScreenEffect.
 
typedef SmartPointer< ShaderShader_var
 An automatic reference-counted pointer to a Shader.
 
typedef SmartPointer< ShaderManagerShaderManager_var
 An automatic reference-counted pointer to a ShaderManager.
 
typedef SmartPointer< ToolTool_var
 An automatic reference-counted pointer to a Tool.
 
typedef SmartPointer< ToolsManagerToolsManager_var
 An automatic reference-counted pointer to a ToolsManager.
 
typedef SmartPointer< ArcBallArcBall_var
 An automatic reference-counted pointer to an ArcBall.
 
typedef Name< Clipping * > ClippingConfig
 An autogui string type for clipping configuration.
 
typedef SmartPointer< CameraCamera_var
 
typedef SmartPointer< RenderAreaRenderArea_var
 
typedef Name< VoxelGrob * > VoxelGrobName
 The name of an existing VoxelGrob in the SceneGraph. More...
 
typedef Name< VoxelGrob *, true > NewVoxelGrobName
 The name of an (existing or not) VoxelGrob in the SceneGraph. More...
 

Enumerations

enum  CullingMode { NO_CULL , CULL_FRONT , CULL_BACK }
 
enum  PaintingMode { SOLID_COLOR , ATTRIBUTE , COLOR , TEXTURE }
 
enum  PaintOp { PAINT_SET , PAINT_RESET , PAINT_INC , PAINT_DEC }
 A painting operation. More...
 
enum  MouseButton {
  MOUSE_BUTTON_NONE = 0 , MOUSE_BUTTON_LEFT = 1 , MOUSE_BUTTON_MIDDLE = 2 , MOUSE_BUTTON_RIGHT = 3 ,
  MOUSE_BUTTON_WHEEL_UP = 4 , MOUSE_BUTTON_WHEEL_DOWN = 5 , MOUSE_BUTTON_AUX1 = 6 , MOUSE_BUTTON_AUX2 = 7 ,
  MOUSE_BUTTONS_NB = 8
}
 Symbolic constants for mouse buttons.
 

Functions

template<class T >
Sign ogf_sgn (const T &x)
 
template<class T >
void ogf_clamp (T &x, T xmin, T xmax)
 
template<class T >
ogf_sqr (const T &x)
 
template<class FT >
vecng< 2, FT > transform_point (const vecng< 2, FT > &v, const Matrix< 4, FT > &m)
 Applies a 3d transform to a 2d point. More...
 
size_t fread (void *ptr_in, size_t size, size_t nbelt, std::istream *in)
 Reads elements from a stream. More...
 
int fgetc (std::istream *in)
 reads a character from a stream. More...
 
int fseek (std::istream *in, long offset, int whence)
 moves the current position within a stream More...
 
size_t ftell (std::istream *in)
 gets the current position in a stream. More...
 
void fclose (std::istream *in)
 closes a stream. More...
 
template<class T >
MetaTypeogf_dynamic_type (const T &x)
 Gets the MetaType associated with a variable. More...
 
template<class T >
MetaTypeogf_static_type (const T &x)
 Gets the MetaType associated with a variable. More...
 
template<class T >
bool ogf_is_a (const T &x, const MetaType *type)
 Tests whether the type of a variable derives from another type. More...
 
template<class T >
bool ogf_convert_to_string (const T &value, std::string &string)
 Converts a variable to a string using the reflection API. More...
 
template<class T >
bool ogf_convert_from_string (const std::string &string, T &value)
 Converts a string to a variable using the reflection API. More...
 
std::ostream & operator<< (std::ostream &out, const ArgList &args)
 Prints an ArgList into a stream. More...
 
std::ostream & operator<< (std::ostream &out, const PointStyle &ps)
 Writes a PointStyle to a stream. More...
 
std::istream & operator>> (std::istream &in, PointStyle &ps)
 Reads a PointStyle from a stream. More...
 
std::ostream & operator<< (std::ostream &out, const EdgeStyle &es)
 Writes an EdgeStyle to a stream. More...
 
std::istream & operator>> (std::istream &in, EdgeStyle &es)
 Reads an EdgeStyle from a stream. More...
 
std::ostream & operator<< (std::ostream &out, const SurfaceStyle &ss)
 Writes a SurfaceStyle to a stream. More...
 
std::istream & operator>> (std::istream &in, SurfaceStyle &ss)
 Reads a SurfaceStyle from a stream. More...
 
template<class T , bool B>
std::ostream & operator<< (std::ostream &out, const Name< T, B > &name)
 Writes a Name to a stream. More...
 
template<class T , bool B>
std::istream & operator>> (std::istream &in, Name< T, B > &name)
 Reads a Name from a stream. More...
 
std::ostream & operator<< (std::ostream &out, const ColormapStyle &cms)
 Writes a ColormapStyle to a stream. More...
 
std::istream & operator>> (std::istream &in, ColormapStyle &cms)
 Reads a ColormapStyle from a stream. More...
 
SCENE_GRAPH_GFX_API std::ostream & operator<< (std::ostream &out, const RayPick &ev)
 Sends a RayPick to an output stream. More...
 
SCENE_GRAPH_GFX_API std::istream & operator>> (std::istream &in, RayPick &ev)
 Reads a RayPick from an input stream. More...
 

Detailed Description

Global Graphite namespace.

OGF stands for Open Graphics Foundation classes.

Typedef Documentation

◆ ColormapName

The name of a colormap.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with a list of colormap names, obtained as the files in the "lib/colormaps" subdirectory.

Definition at line 486 of file properties.h.

◆ DynamicModuleName

The name of a dynamic module (plugin).

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with a list of loaded plugins.

Definition at line 65 of file properties.h.

◆ FileName

The name of an existing file.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a textfield and a button that opens a FileSelectionBox configured for selecting an existing file.

Definition at line 376 of file properties.h.

◆ FullScreenEffectName

The name of a full screen effect.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with a list of full screen effect names.

Definition at line 569 of file properties.h.

◆ gom_method_adapter

typedef bool(* OGF::gom_method_adapter) (Object *target, const std::string &method_name, const ArgList &args, Any &ret_val)

Function pointer types for method adapters.

A GOM Method adapter is a function extracting the arguments from an ArgList, calling a function, and transforming the result into a return value (this process is referred to as "Marshalling" in distributed objects litterature). GOM Method adapters are automatically generated by the GOM generator.

Definition at line 63 of file meta_method.h.

◆ GrobClassName

typedef Name<GrobClass*> OGF::GrobClassName

The name of a Grob class.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with a list of existing Grob class names. The list of Grob class names is obtained from the SceneGraphLibrary.

Definition at line 472 of file properties.h.

◆ GrobFileName

The name of an existing file that contains an object.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a textfield and a button that opens a FileSelectionBox configured for selecting an existing object file. The list of valid extensions for an image file is obtained from the SceneGraphLibrary.

Definition at line 447 of file properties.h.

◆ GrobName

typedef Name<Grob*> OGF::GrobName

The name of an existing Grob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the Grob objects found in the SceneGraph.

Definition at line 423 of file properties.h.

◆ ImageFileName

The name of an existing file that contains an Image.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a textfield and a button that opens a FileSelectionBox configured for selecting an existing image file. The list of valid extensions for an image file is obtained from the ImageLibrary.

Definition at line 399 of file properties.h.

◆ LuaGrobName

The name of an existing LuaGrob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the LuaGrob objects found in the SceneGraph.

Definition at line 269 of file lua_grob.h.

◆ MeshGrobName

The name of an existing MeshGrob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the MeshGrob objects found in the SceneGraph.

Definition at line 207 of file mesh_grob.h.

◆ NewFileName

The name of a new file.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a textfield and a button that opens a FileSelectionBox configured for selecting an (existing or not) file.

Definition at line 386 of file properties.h.

◆ NewGrobFileName

The name of an (existing or not) file that contains an object.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a textfield and a button that opens a FileSelectionBox configured for selecting an (existing or not) object file. The list of valid extensions for an image file is obtained from the SceneGraphLibrary.

Definition at line 458 of file properties.h.

◆ NewGrobName

typedef Name<Grob*,true> OGF::NewGrobName

The name of an (existing or not) Grob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the Grob objects found in the SceneGraph. In additon, the field can be edited, and the user can enter in it a new name, not already present in the SceneGraph.

Definition at line 434 of file properties.h.

◆ NewImageFileName

The name of an (existing or not) file that contains an Image.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a textfield and a button that opens a FileSelectionBox configured for selecting an (existing or not) image file. The list of valid extensions for an image file is obtained from the ImageLibrary.

Definition at line 410 of file properties.h.

◆ NewLuaGrobName

The name of an (existing or not) LuaGrob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the LuaGrob objects found in the SceneGraph. In additon, the field can be edited, and the user can enter in it a new name, not already present in the SceneGraph.

Definition at line 280 of file lua_grob.h.

◆ NewMeshGrobName

The name of an (existing or not) MeshGrob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the MeshGrob objects found in the SceneGraph. In additon, the field can be edited, and the user can enter in it a new name, not already present in the SceneGraph.

Definition at line 218 of file mesh_grob.h.

◆ NewVoxelGrobName

The name of an (existing or not) VoxelGrob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the VoxelGrob objects found in the SceneGraph. In additon, the field can be edited, and the user can enter in it a new name, not already present in the SceneGraph.

Definition at line 262 of file voxel_grob.h.

◆ VoxelGrobName

The name of an existing VoxelGrob in the SceneGraph.

This class can be used as a std::string. The only difference is that when it is used as a command argument or a Shader property, AutoGUI will generate for it a ComboBox with all the VoxelGrob objects found in the SceneGraph.

Definition at line 251 of file voxel_grob.h.

Enumeration Type Documentation

◆ PaintOp

A painting operation.

Enumerator
PAINT_SET 

sets attribute value

PAINT_RESET 

resets attribute value to zero

PAINT_INC 

adds to attribute value

PAINT_DEC 

subtracts from attribute value

Definition at line 94 of file mesh_grob_paint_tools.h.

Function Documentation

◆ fclose()

void OGF::fclose ( std::istream *  in)
inline

closes a stream.

Does nothing, exists for source-level compatibility of some legacy code.

Parameters
[in]ina pointer to the stream to be closed

Definition at line 128 of file stdio_compat.h.

◆ fgetc()

int OGF::fgetc ( std::istream *  in)
inline

reads a character from a stream.

Parameters
[in]ina pointer to a stream where to read the elements
Returns
the read characted, as an int

Definition at line 86 of file stdio_compat.h.

◆ fread()

size_t OGF::fread ( void *  ptr_in,
size_t  size,
size_t  nbelt,
std::istream *  in 
)
inline

Reads elements from a stream.

Parameters
[in]ptr_inwhere to load the elements. Should point to a block of nbelt * size bytes of memory.
[in]sizesize of an element to read
[in]nbeltnumber of elements to read
[in]ina pointer to a stream where to read the elements
Returns
the number of elements successfully read

Definition at line 64 of file stdio_compat.h.

◆ fseek()

int OGF::fseek ( std::istream *  in,
long  offset,
int  whence 
)
inline

moves the current position within a stream

Parameters
[in]ina pointer to the stream
[in]offsetoffset where to move, interpreted differently in function of whence
[in]whenceSEEK_CUR only is supported
  • SEEK_CUR: offset is relative to current position
Returns
0 on success

Definition at line 102 of file stdio_compat.h.

◆ ftell()

size_t OGF::ftell ( std::istream *  in)
inline

gets the current position in a stream.

Parameters
[in]ina pointer to the stream
Returns
the current position in the stream

Definition at line 118 of file stdio_compat.h.

◆ ogf_convert_from_string()

template<class T >
bool OGF::ogf_convert_from_string ( const std::string &  string,
T &  value 
)
inline

Converts a string to a variable using the reflection API.

Parameters
[in]stringa const reference to the string
[out]valuea reference to the variable
Return values
trueif conversion was successful
falseotherwise

Definition at line 363 of file meta.h.

◆ ogf_convert_to_string()

template<class T >
bool OGF::ogf_convert_to_string ( const T &  value,
std::string &  string 
)
inline

Converts a variable to a string using the reflection API.

Parameters
[in]valuea const reference to the variable
[out]stringa reference to the string
Return values
trueif conversion was successful
falseotherwise

Definition at line 343 of file meta.h.

◆ ogf_dynamic_type()

template<class T >
MetaType* OGF::ogf_dynamic_type ( const T &  x)
inline

Gets the MetaType associated with a variable.

It uses the dynamic type of the variable, e.g. if a variable is declared as a reference to a base class and holds a derived class instance, it will get the derived class.

Parameters
[in]xa const reference to the variable
Returns
a pointer to the MetaType of the variable if it exists or nullptr otherwise

Definition at line 217 of file meta.h.

◆ ogf_is_a()

template<class T >
bool OGF::ogf_is_a ( const T &  x,
const MetaType type 
)
inline

Tests whether the type of a variable derives from another type.

Parameters
[in]xthe variable
[in]typea pointer to the meta type
Return values
trueif the type of x derives from type
falseotherwise

Definition at line 247 of file meta.h.

◆ ogf_static_type()

template<class T >
MetaType* OGF::ogf_static_type ( const T &  x)
inline

Gets the MetaType associated with a variable.

It uses the static type of the variable, i.e. the C++ type of the variable.

Parameters
[in]xa const reference to the variable
Returns
a pointer to the MetaType of the variable if it exists or nullptr otherwise
See also
ogf_dynamic_type

Definition at line 233 of file meta.h.

◆ operator<<() [1/7]

std::ostream& OGF::operator<< ( std::ostream &  out,
const ArgList args 
)
inline

Prints an ArgList into a stream.

Parameters
[out]outthe stream where the ArgList should be printed
[in]argsa const reference to the ArgList to be printed

Definition at line 527 of file arg_list.h.

◆ operator<<() [2/7]

std::ostream& OGF::operator<< ( std::ostream &  out,
const ColormapStyle cms 
)

Writes a ColormapStyle to a stream.

Parameters
[in,out]outthe stream
[in]cmsa const reference to the ColormapStyle
Returns
the new state of the stream after writing

◆ operator<<() [3/7]

std::ostream& OGF::operator<< ( std::ostream &  out,
const EdgeStyle es 
)

Writes an EdgeStyle to a stream.

Parameters
[in,out]outthe stream
[in]esa const reference to the EdgeStyle
Returns
the new state of the stream after writing

◆ operator<<() [4/7]

template<class T , bool B>
std::ostream& OGF::operator<< ( std::ostream &  out,
const Name< T, B > &  name 
)
inline

Writes a Name to a stream.

Parameters
[in,out]outa reference to the stream
[in]namea const reference to the Name
Returns
the new state of the stream after writing

Definition at line 334 of file properties.h.

◆ operator<<() [5/7]

std::ostream& OGF::operator<< ( std::ostream &  out,
const PointStyle ps 
)

Writes a PointStyle to a stream.

Parameters
[in,out]outthe stream
[in]psa const reference to the PointStyle
Returns
the new state of the stream after writing

◆ operator<<() [6/7]

SCENE_GRAPH_GFX_API std::ostream& OGF::operator<< ( std::ostream &  out,
const RayPick ev 
)

Sends a RayPick to an output stream.

Parameters
[in,out]outthe output stream
[in]eva const reference to the RayPick
Returns
the new state of the output stream once the RayPick has been send to it.

◆ operator<<() [7/7]

std::ostream& OGF::operator<< ( std::ostream &  out,
const SurfaceStyle ss 
)

Writes a SurfaceStyle to a stream.

Parameters
[in,out]outthe stream
[in]ssa const reference to the SurfaceStyle
Returns
the new state of the stream after writing

◆ operator>>() [1/6]

std::istream& OGF::operator>> ( std::istream &  in,
ColormapStyle cms 
)

Reads a ColormapStyle from a stream.

Parameters
[in,out]inthe stream
[out]cmsa reference to the ColormapStyle
Returns
the new state of the stream after reading

◆ operator>>() [2/6]

std::istream& OGF::operator>> ( std::istream &  in,
EdgeStyle es 
)

Reads an EdgeStyle from a stream.

Parameters
[in,out]inthe stream
[out]esa reference to the EdgeStyle
Returns
the new state of the stream after reading

◆ operator>>() [3/6]

template<class T , bool B>
std::istream& OGF::operator>> ( std::istream &  in,
Name< T, B > &  name 
)

Reads a Name from a stream.

Parameters
[in,out]ina reference to the stream
[out]namea reference to the NameProperty
Returns
the new state of the stream after reading

Definition at line 346 of file properties.h.

◆ operator>>() [4/6]

std::istream& OGF::operator>> ( std::istream &  in,
PointStyle ps 
)

Reads a PointStyle from a stream.

Parameters
[in,out]inthe stream
[out]psa reference to the PointStyle
Returns
the new state of the stream after reading

◆ operator>>() [5/6]

SCENE_GRAPH_GFX_API std::istream& OGF::operator>> ( std::istream &  in,
RayPick ev 
)

Reads a RayPick from an input stream.

Parameters
[in,out]inthe input stream
[out]eva reference to the read RayPick
Returns
the new state of the output stream once the RayPick has been read from it

◆ operator>>() [6/6]

std::istream& OGF::operator>> ( std::istream &  in,
SurfaceStyle ss 
)

Reads a SurfaceStyle from a stream.

Parameters
[in,out]inthe stream
[out]ssa reference to the SurfaceStyle
Returns
the new state of the stream after reading

◆ transform_point()

template<class FT >
vecng<2,FT> OGF::transform_point ( const vecng< 2, FT > &  v,
const Matrix< 4, FT > &  m 
)

Applies a 3d transform to a 2d point.

Convention is the same as in OpenGL, i.e. vector is a row vector, multiplied on the left of the transform. This function is typically used to transform screen coordinates using the inverse viewing matrix.

Parameters
[in]vthe input 2d point to be transformed, considered as a 3d point with z coordinate equal to zero
[in]mthe transform, as a 4x4 matrix, using homogeneous coordinates
Template Parameters
FTtype of the coordinates
Returns
the transformed 2d point

Definition at line 74 of file geometry.h.