The Vish Visualization Shell 0.3
Vish
Classes | Concepts | Typedefs | Enumerations | Functions | Variables
Wizt Namespace Reference

The Vish namespace. More...

Classes

struct  AcceptionGenerator
 
class  AcceptList
 
class  AcceptListIterator
 Accepting arbitrary types directly as second argument of VCreator or VObject::AcceptableInputTypes . More...
 
class  AcceptListIterator< AcceptList< AcceptType, NextAcceptList > >
 
class  AcceptListIterator< META::LIST< AcceptType, NextAcceptList > >
 Using a META::LIST<> as second argument of VCreator or VObject::AcceptableInputTypes . More...
 
class  AcceptListIterator< META::NIL >
 Using a META::NIL as second argument of VCreator or VObject::AcceptableInputTypes rejects all input objects. More...
 
class  AcceptListIterator< void >
 Using void as second argument of VCreator or VObject::AcceptableInputTypes rejects all input objects. More...
 
class  Anemone
 Abstract object for elementary render objects. More...
 
struct  AnemoneBasicCreator
 Internal intermediate class bundling some caching functionality on AnemoneCreators. More...
 
struct  AnemoneCreator
 The Anemone Cache, called the Seagrass, is based on Anemone objects. More...
 
struct  AnemoneCreatorBase
 The Anemone Cache, called the Seagrass, is based on Anemone objects. More...
 
struct  AnemoneCreatorContext
 Convenience class to pair a render context and an AnemoneCreator. More...
 
class  AnemoneNutrition
 
struct  ApplicationQuitter
 Registerable objects to be called by some plugin when the application is supposed to quit soon, to be used to flush caches and close files in a clean way yet before any plugins are unloaded. More...
 
class  Atlas
 
class  BaseCursor3D
 Base class for 3D cursors with different geometries Handles common cursor functionality while allowing specific geometry implementation. More...
 
class  Bokeh
 Implementation of a RenderCategory::CAMERA_LENS_OBJECT . More...
 
struct  Brush
 A data-driven description of a Brush to select points from a set of points, providing an list of indices. More...
 
class  BufferArray
 Base class for OpenGL buffer objects, which are the building blocks of Vertex Buffer Objects. More...
 
class  BufferID
 Base class for OpenGL buffer id's. More...
 
struct  CallbackInputNotifier
 A value notification class that awaits value changes for a specific type and forwards the event to the member function of a given object. More...
 
struct  CallbackMutableInputNotifier
 A value notification class that awaits value changes for a specific type and forwards the event to the member function of a given object. More...
 
class  CatchStatus
 A convenience class that can be added as base class to any VObject. More...
 
struct  CategorizedRenderObjects
 
struct  ClippingPlanes
 VRenderObjects that want to support clipping planes may derive from this class, must call initializeAnemone() in their own respective code and insert the setClipDistances() code into their vertex or geometry shader code. More...
 
class  ColorArray
 Base class for OpenGL buffer arrays related to colors. More...
 
class  Colorizer
 A vish object component (aka vish skale) that references some colormap and takes care of its parameter handling. More...
 
class  Colormap
 Abstract base class for colormaps, which are transfer functions from a floating point value into RGBA values. More...
 
class  ColormapReference
 Helper class for attaching colormaps to MemCore::Intercubes. More...
 
class  CommandLineParser
 Basic parser for options and arguments. More...
 
struct  CompareSlotsByName
 
class  ComputationDispatcher
 
class  ComputeShader
 
class  Coral
 A base class for vish objects that provides Colormaps. More...
 
struct  CreateVertexArray
 
struct  CreateVertexArray_nD
 
struct  CreateVertexArray_nD< Type, ArrayType, 0 >
 
struct  CreatorCreator
 
class  CrossSectionCam
 
struct  Cursor3D
 
struct  Cursor3DProperties
 Description of parameters for drawing a 3D cursor shape within a shader. More...
 
struct  DefaultAnemoneInitializer
 
struct  DefaultTypedSlotSaveProperty
 A type trait class defining a the default property of certain types used in input slots, telling if the value of these types should be saved when the status of an object is saved. More...
 
class  DeferredRenderObject
 Base class for objects that make use of deferred rendering. More...
 
class  DisplayList
 
class  DisplayListCreator
 
class  DisplayListTentacle
 
struct  DrawArrays
 An Vertex Buffer Object renderer that implements the glDrawArrays function. More...
 
struct  ElementBuffer
 
class  EnableTexture
 
struct  Enum
 Enumeration type. More...
 
class  Expectation
 Define that we are expecting a certain number of bytes from an VSocketAction::Receiver object. More...
 
class  FlagList
 A set of strings associated with a boolean, good to store true/false properties for each string. More...
 
struct  FloatOrigin
 By default, the Camera in Vish is NOT translated to the location of the specified observer, but it resides at location (0,0,0). More...
 
struct  Fog
 Provides a fragment shader function of type: More...
 
class  FragmentShader
 An OpenGL fragment shader. More...
 
class  Framebuffer
 Class interface to the OpenGL Framebuffer API. More...
 
class  GeometryShader
 An OpenGL geometry shader. More...
 
class  GetMessage
 
struct  GimpIcon
 A map of ref pointers to input objects. More...
 
class  GLBindableBaseBuffer
 
class  GLBindableBuffer
 
class  GLBuffer
 Implements functionality related to an OpenGL buffer object. More...
 
struct  GLBuffer_with_bind
 
class  GLCache
 The GLCache is a mapping from certain keys to an OpenGL DisplayList object. More...
 
struct  GLCacheCreator
 
struct  GLCacheError
 
class  GLCacheFactory
 The 3rd level of the OpenGL Cache, retrieving actual GL objects such as VBO's or TextureCreators. More...
 
class  GLCacheFactoryPtr
 A convenience class which is basically a reference to a GLCacheFactory and forwards all its member properties to this pointer. More...
 
struct  GLCacheInterfaceNotFound
 Exception that is thrown if the type is not found on GLCache access. More...
 
struct  GLColormap
 A colormap can be used in two ways: as 1D texture, or as colortable. More...
 
class  GLContextChecker
 This is a convenience class to check if an OpenGL context is currently active and available. More...
 
struct  GLDebug
 
struct  GLError
 Exception class for errors during rendering. More...
 
struct  glew
 Interfacing the glew library. More...
 
class  GlewContext
 
class  GLFontManager
 
class  GLFontManagerCreator
 
struct  GLImageTileProcessor
 An interceptor class for rendering, allows to process pixels before they are saved to disk. More...
 
class  GLMapMemory
 
class  GLMultisampleTexture2D
 A multisampling texture, to be used with framebuffer rendering and shaders. More...
 
class  GlossyLines
 A helper class to draw lines with a shiny, glossy texture. More...
 
class  GlossyTexture
 A one-dimensional texture that simulates a glossy shade. More...
 
struct  GLOutOfMemory
 
struct  GLPainter
 RenderBasin Painter Object implementing a call to OpenGL's glDrawArrays(). More...
 
class  GLPixelBuffer
 PBOs allow to perform asynchronous pixel data transfers. More...
 
class  GLProgram
 An OpenGL shading program. More...
 
class  GLRenderAble
 Abstract base class for objects that can be rendered via OpenGL. More...
 
struct  GLRenderer
 A renderer class that captures OpenGL renderings from a viewer object into some offline buffer, using FrameBuffer objects with multisampling. More...
 
struct  GLShaderUniformFunctor
 A functor class for applying operators to uniform shader variables that are assigned directly from a Vish slot. More...
 
struct  GLSL_View.CameraSettings
 
struct  GLSL_View.FrustumCornerPoints
 
struct  GLSL_View.Viewport
 
class  GLState
 
class  GLTexture
 
class  GLTexture1D
 Shortcut class name for one-dimensional textures. More...
 
class  GLTexture2D
 Two-dimensional textures loaded from a dataset. More...
 
class  GLTexture2DBase
 Shortcut class name for two-dimensional textures. More...
 
class  GLTexture3D
 Shortcut class name for three-dimensional textures. More...
 
class  GLTextureBase
 Base class for OpenGL Texture ID's. More...
 
class  GLTextureID
 Better base class for OpenGL Texture ID's. More...
 
struct  GLTextureTentacle
 
struct  GLType
 
class  GLUniformBuffer
 
class  HotKey
 Base class for Vish Objects that act on a single, configurable hotkey in the viewer. More...
 
struct  HTMLInputCreator
 
class  HTTPServer
 Define that we are expecting a certain number of bytes from an VSocketAction::Receiver object. More...
 
struct  HybridScene
 An internal class to categorize render objects and iterate over them according to their properties. More...
 
struct  IdentifierWithUrl
 
struct  ImageTile
 A tile as part of an image. More...
 
struct  ImageTileProcessor
 Interface class for processing color data acquired by rendering. More...
 
struct  IndexBuffer
 OpenGL Index Buffers for specific data types. More...
 
struct  IndexBufferObject
 Base class for index buffer objects. More...
 
struct  info
 Input type to display some information about an object. More...
 
struct  InputNotifier
 A value notification class that awaits value changes for a specific type and forwards the event to the member function of a given object. More...
 
struct  Interactive
 Base class for Vish Objects that allow interaction with an input device such as the mouse or keyboard in the 3D Viewer (or any other input device providing a VInteractionEvent ). More...
 
class  Interactor
 An interaction element to steer the behavior of the viewer in a GUI. More...
 
class  KBuffer
 Abstract class implementing a K-Buffer. More...
 
struct  KeyStringNotFound
 
class  Label
 
class  LabelSet
 A mapping from integer values to Labels, i.e. More...
 
struct  LayeredMultiViews
 Handling multiple views in multiple layers in multiple viewports. More...
 
struct  LayeredRenderResult
 
struct  lessValueSetPtr
 Key comparison functor, a Strict Weak Ordering whose argument type is a ValueSet; it returns true if its first argument is less than its second argument, and false otherwise. More...
 
class  LineDescriptionTentacle
 
struct  LineGeometryProgram
 
struct  LineGlowShadowProgram
 
struct  LinePointProgram
 
struct  LineProgram
 Base class for shader programs enhancing the display of lines. More...
 
struct  LineStippleProgram
 
class  ListID
 
union  MatrixOrArray
 
struct  MemberID
 
class  MessageRetriever
 
class  MetaGLViewerCreator
 Implementation of a viewer creator using an existing viewer class that can be called with a ViewerCreatorEnvironment as parameter. More...
 
class  MetaGLViewerCreatorBase
 Abstract plankton class for objects creating OpenGL-enabled viewer windows. More...
 
struct  MetaViewer
 Base class for object handling one or more viewers, i.e. More...
 
class  MetaViewerCreatorBase
 Abstract plankton class for objects creating viewer windows. More...
 
class  MetaViewerCreatorEnvironment
 Abstract class describing the environment when creating viewer windows. More...
 
struct  ModelViewMatrix
 A helper class for exception-safe pushing and popping of the OpenGL model view matrix. More...
 
struct  MovieRecorder
 Base class for Movie recorder classes. More...
 
class  MSDeferredObjectDisplay
 Base class for displaying the rendering output of other objects via multisampled deferred rendering. More...
 
class  MSDeferredRenderObject
 Base class for objects that use multisampled deferred rendering. More...
 
class  MultipleStringSelection
 A multilist container ... More...
 
class  MultiviewOVR
 
struct  MultiviewRenderable
 Base class for objects that can render to multiple views at once, such as needed for single-pass stereo rendering. More...
 
struct  MutableInputNotifier
 A value notification class that awaits value changes for a specific type and forwards the event to the member function of a given object. More...
 
struct  myVStreamCreator
 
struct  NamedRenderExceptions
 A named list of render exceptions. More...
 
struct  NetworkObjectHtml
 
struct  NotifiedValueIterator
 
struct  ObjectQuality
 Classification for the quality of objects that may be provided by some Creator. More...
 
class  ObjectSelection
 A general-purpose class to select a set of Vish objects and order them by priority. More...
 
struct  OfflineRenderResult
 
class  PBO
 
class  PickList
 The result of a pick action. More...
 
struct  PixelBuffer
 Class to receive pixel colors and depth information. More...
 
struct  PixelZoom
 Pixel zoom parameters. More...
 
struct  PrintCreatorIterator
 
struct  PrintIterator
 
class  ProceduralVertexAttribute
 
class  Programmable
 A helper class to create a shader program from either intrinsic code, or external files, as given under the specified name in Programmable::CompileShader(). More...
 
struct  ProgrammableGeometry
 A helper class to create a OpenGL geometry shader programs. More...
 
struct  ProjectionParameters
 Projection parameters for rendering. More...
 
class  Range
 A range of double values, to be used to map certain values from one range to another. More...
 
class  RemoteViewer
 
class  RemoteVish
 
struct  render_lambda_traits
 
struct  render_lambda_traits< Ret(Class::*)(Arg1, Arg2) const >
 
class  RenderAble
 Abstract base class for objects that can be rendered. More...
 
class  RenderBasin
 Base class for abstract render operations. More...
 
struct  RenderCategoryConstraint
 
struct  RenderException
 Exception class for errors during rendering. More...
 
struct  RenderNamespace
 Enums used for rendering. More...
 
struct  RenderSlice
 
struct  RequestExecutor
 
struct  SampledSize
 Size class for two-dimensional images with multisampling. More...
 
struct  ScriptletCreator
 
class  Seagrass
 The Anemone Cache, called the Seagrass, is based on Anemone objects. More...
 
class  SecondaryColorArray
 OpenGl buffer array base class to provide secondary colors. More...
 
struct  SensorArea
 Extended information as provided by a sensor on the screen such as the mouse cursor. More...
 
class  Shader
 Base class for OpenGL shaders. More...
 
struct  ShaderConditionals
 Base class to ease setting a VSlot as shader defines. More...
 
struct  ShaderInjector
 
struct  ShaderInjectorBase
 
struct  ShaderLightSource
 Base class for light sources that are defined via shader functions with constant shader code, i.e. More...
 
struct  Size
 Size class for two-dimensional images. More...
 
struct  SlotEvaluator
 
struct  SlotEvaluator< 1, SlotList... >
 
class  Slottify
 Utility class for dealing with conversions from VObject and its Slots to strings and vice versa. More...
 
struct  SpaceNavigation
 
struct  SSBOManager
 
struct  StatusIndicator
 Base class for convenient messing around with the status to be displayed for a certain object. More...
 
struct  StereoDraw
 Base class for render objects to implement a stereo render function that draws to the left and right eye directly as enabled by. More...
 
struct  StorageBufferID
 
class  StorageBufferTentacle
 Storage buffer objects. More...
 
struct  StreamString
 
class  StringSelection
 A list of strings with one of them selected. More...
 
class  Task
 
class  TexCoordArray
 Base class to store buffer arrays for texture coordinates. More...
 
struct  TEXTURE
 
struct  TextureBase
 Base class for Texture objects, supports cache management. More...
 
class  TextureBuffer
 It's a texture that knows about a buffer array. More...
 
class  TextureCreator
 A handler for texture creation and release. More...
 
class  TextureID
 
struct  TileRenderResult
 
class  TimeDependent
 Base class (vish scale) for time-dependent objects Synopsis: Derive the VObject from this base class to get a time parameter that is consistent with other usages. More...
 
class  Touchable
 Abstract base class for objects that can be touched. More...
 
class  TouchList
 Abstract base class for objects that can be touched. More...
 
struct  TransformOperator
 Implements an operation that affects a 3D rendering, in whatever way. More...
 
class  TypedBufferArray
 
class  TypedBufferArrayBase
 
class  TypedColorArray
 OpenGl buffer array to provide colors. More...
 
class  TypedNormalArray
 Note: stuff has always 3 components. More...
 
struct  TypedPBO
 
class  TypedSecondaryColorArray
 OpenGl buffer array to provide secondary colors. More...
 
class  TypedSlot
 An input slot for VObjects, bound to a specific type. More...
 
class  TypedSlot< bool[]>
 
class  TypedSlotCreator
 A registry for the runtime-creation of typed slots, allowing creation of type-specific VObject input parameters without knowing their types explicitly. More...
 
class  TypedTexCoordArray
 An OpenGL buffer array to store texture coordinates. More...
 
class  TypedTextureBuffer
 
class  TypedUniformBuffer
 
class  TypedValueCreator
 Implementation of value creators. More...
 
class  TypedVectorUniformBuffer
 
class  TypedVertexArray
 Base class for OpenGL buffer array objects operating on vertices (points), independent from a specific type. More...
 
class  TypedVertexAttribArray
 OpenGL buffer array for arbitrary vertex attributes. More...
 
class  TypedVertexBufferArray
 
struct  TypeNotFound
 Exception that is thrown if the type is not found on GLCache access. More...
 
class  TypeSpecificGLCacheFactory
 This is semantically a. More...
 
class  TypeSpecificGLCacheFactoryPtr
 This is semantically. More...
 
class  UndoStack
 Helper class to provide two input actions for undo/redo operations. More...
 
class  UniformBuffer
 
class  UniformBufferRegistry
 
class  UniformVertexAttribute
 
class  UniqueQueue
 
struct  URenderException
 Exception class for user-thrown errors during rendering. More...
 
struct  UserRenderException
 
class  VAbstractValue
 Implementation of a VISH type via procedural referencing instead of instantiation. More...
 
class  VAbstractValueParameter
 Making parameters for abstract values. More...
 
class  VAcceptInfo
 An intermediate class that holds information about what kind of input objects a certain VObject accepts. More...
 
class  VAcception
 Accept information for a given VObject. More...
 
class  VAcceptList
 A list of accept informations. More...
 
struct  VAcceptListTracer
 
class  VAction
 An action object that allows to schedule objects for request execution, i.e. More...
 
class  VActionNotifier
 Notifier object for actions. More...
 
struct  ValueAction
 Route a notification event to an object's member function. More...
 
struct  ValueActionBase
 An abstract Value notifier that re-routes valueChanged events to virtual actions. More...
 
struct  ValueCache
 Cache values of VSlots in an Interface and allow checking if these values have changed. More...
 
struct  ValueCacheable
 Base class for caching values of VSlots relative to an Intercube. More...
 
class  ValueMap
 List of the components of a compound type. More...
 
struct  ValueNotifier
 Base class for objects which are informed when a value is changed. More...
 
class  ValueNotifierList
 A node which serves to identify multiple instances of input alternatives for a certain value. More...
 
class  ValuePool
 A ValuePool is the home of local values of certain input objects. More...
 
struct  ValuePoolCreator
 
class  ValuePoolProvider
 Procedural interface for requesting a ValuePool. More...
 
struct  ValuePoolReferer
 Abstract base class for objects that may provide objects that provide an active value pool (two-fold indirection). More...
 
class  ValueSet
 A set of values. More...
 
struct  ValueSetNotFound
 
struct  ValueShadowIterator
 Iterator class for values stored in multiple ValuePools (also called "shadows" of a variable). More...
 
class  VBO
 A vertex buffer object, encompassing many vertex buffer arrays and a rendering routine with pre- and post execution code. More...
 
class  VBOCreator
 Creator for VBO objects. More...
 
struct  VCamera
 The Camera object for OpenGL operations in VISH. More...
 
class  VCameraBase
 Base class for camera objects. More...
 
class  VCameraLens
 Implementation of a RenderCategory::CAMERA_LENS_OBJECT . More...
 
class  VCameraSet
 A list of renderable objects, sorted in layers. More...
 
class  VChart
 Specify a coordinate system. More...
 
class  VChartDependent
 
class  VChartList
 Specify a coordinate system. More...
 
class  VChartSelector
 
class  VComponentValue
 
class  VConnectable
 Intermediate class managing connections between objects. More...
 
struct  VConnectionTypeColors
 A helper class that serves to associate types with color values, that are stored a text. More...
 
class  VConnectionValidator
 A base class for objects that want to be informed if the connectivity if an object's data flow graph has changed. More...
 
class  VConnectionValidatorList
 A base class for objects that inform VConnectionValidator about their validity. More...
 
struct  VContext
 A Context is always local and unique for each call. More...
 
class  VCotask
 Base class for VObjects (to be used via multiple inheritance) to ease asynchroneous computations in a thread. More...
 
class  VCreationPreferences
 A certain object (especcially input types) might have multiple implementations by the GUI or alternative input mechanism. More...
 
class  VCreator
 Given some VObject, this is the accompanying Creator object that may be used to create VObject's on request. More...
 
class  VCreatorBase
 Base class for objects that serve to create VObject's. More...
 
class  VCreatorCategory
 
class  VCreatorMap
 
class  VCreatorProperties
 A set of properties for a VCreator , VCreatorProperty. More...
 
class  VCreatorProperty
 A set of property elements for VCreator objects. More...
 
struct  VCreatorPropertyBase
 Base class for VCreator property elements. More...
 
struct  VCreatorPropertyElements
 
class  VDataFlowGraph
 Request structure. More...
 
class  VEnumSelection
 Container to hold a selection of strings with one of them selected. More...
 
class  VEnvironmentRenderObject
 Base class for VObjects that may do some rendering. More...
 
struct  VertexArrayCreator
 
struct  VertexArrayCreator< VGL_NAMED_VERTEX_ATTRIB >
 
struct  VertexArrayCreator< VGL_TEX0_COORDINATES >
 
struct  VertexArrayCreator< VGL_TEX1_COORDINATES >
 
struct  VertexArrayCreator< VGL_VERTEX_COLORS >
 
struct  VertexArrayCreator< VGL_VERTEX_COORDINATES >
 
struct  VertexArrayCreator< VGL_VERTEX_NORMALS >
 
struct  VertexArrayCreator< VGL_VERTEX_SECONDARY_COLORS >
 
class  VertexArrayObject
 Limitations of using OpenGL fences for VAO and buffer upload readiness. More...
 
class  VertexAttribArray
 Base class for arbitrary vertex attribute arrays. More...
 
struct  VERTEXBUFFER
 
struct  VertexBuffer
 Explanation of buffer residency and upload strategy on drivers where persistent/coherent mappings are backed by host-visible system memory. More...
 
class  VertexShader
 An OpenGL vertex shader. More...
 
struct  VFilter
 Implements a data filter, or computational object in general. More...
 
struct  VFindLongestObjectInputName
 Class to find the longest input (parameter) name. More...
 
struct  VFrameBuffer
 Encapsulation of a framebuffer, which is used to collect image rendering results. More...
 
struct  VGlobals
 Global Datastructures. More...
 
struct  VGLRenderContext
 A special vish context that is passed to VGLRenderObjects when rendering. More...
 
class  VGLRenderObject
 Base class for objects that implement a drawing routine using OpenGL. More...
 
struct  VGLShaderPlatformDefines
 An interface to the Seagrass. More...
 
class  VGraph
 Required operations: More...
 
struct  View
 Defining the view in a rendering scene via the projection parameters and the rotation / translation due to camera settings, as given by a VCamera. More...
 
class  Viewer
 A viewer is a Vish object that takes a VSceneLayers as input (a selection of Vish objects which can render something) and provides a FrameBuffer as output. More...
 
class  ViewerState
 Class describing the state of a Viewer , to be communicated via a PolyOutput from each Viewer object to a MetaViewer object that bundles many Viewers. More...
 
struct  ViewportGeometry
 The properties of the viewport. More...
 
class  VInput
 Implementation of input objects. More...
 
class  VInputBase
 Base class for objects providing an input of any kind. More...
 
class  VInputClass
 
class  VInputClassRecognition
 By default, all slots are class zero. More...
 
class  VInputCreator
 Template class for convenient definition of creators of objects providing a multiple input types. More...
 
class  VInputCreatorBase
 Base class for objects that may create objects that serve as input facilities. More...
 
struct  VInputCreatorIterator
 Abstract base class for iterators of input objects. More...
 
class  VInputRegistry
 Templated convenience class that encompassess all VInput registry functions that are associated with a certain type. More...
 
struct  VInputValue
 A VInput that actually stores its type here. More...
 
struct  VInputValueTrait
 
struct  VInputValueTrait< bool[]>
 
struct  VInputValueTrait< Eagle::FixedArray< double, 2 > >
 
struct  VInputValueTrait< Eagle::FixedArray< double, 4 > >
 
struct  VInputValueTrait< Eagle::FixedArray< int, 3 > >
 
struct  VInputValueTrait< Eagle::metric33 >
 
struct  VInputValueTrait< Eagle::PhysicalSpace::bivector >
 
struct  VInputValueTrait< Eagle::PhysicalSpace::point >
 
struct  VInputValueTrait< Eagle::PhysicalSpace::rotor >
 
struct  VInputValueTrait< Eagle::PhysicalSpace::tvector >
 
struct  VInputValueTrait< Enum >
 Type trait for Enum types as input objects. More...
 
struct  VInputValueTrait< ImageTile >
 
struct  VInputValueTrait< info >
 
struct  VInputValueTrait< MemCore::RefPtr< Type > >
 
struct  VInputValueTrait< MetaViewerInputType >
 
struct  VInputValueTrait< Options >
 
struct  VInputValueTrait< Plane >
 
struct  VInputValueTrait< rgba_float_t >
 
struct  VInputValueTrait< std::array< Type, 1 > >
 
struct  VInputValueTrait< string >
 
struct  VInputValueTrait< TransformOperator >
 
struct  VInputValueTrait< VCamera >
 
struct  VInputValueTrait< VCameraSetPtr >
 
class  VInputValueTrait< VChart >
 
struct  VInputValueTrait< VFrameBuffer >
 
struct  VInputValueTrait< VGraph >
 
struct  VInputValueTrait< VImageTileProcessor >
 
struct  VInputValueTrait< VInteractionEvent >
 
struct  VInputValueTrait< VMultiPointerDevice >
 
class  VInputValueTrait< VObjectStatus >
 
struct  VInputValueTrait< VRenderAble >
 
struct  VInputValueTrait< VScalarFunctor >
 
struct  VInputValueTrait< VSceneLayers >
 Type trait to allow using VSceneLayers as inputs for Vish objects. More...
 
struct  VInputValueTrait< VSocketAction >
 
struct  VInputValueTrait< VThreadManager >
 
struct  VInputValueTrait< VTime >
 
struct  VInputValueTrait< VTypeTemplate >
 
class  VInteractionEvent
 Communication type for mouse and keyboard interactions. More...
 
class  VishSaver
 A saver functor. More...
 
class  VLensBase
 Optional Base class for Lens objects with support for stereo and multiview projections. More...
 
class  VLightSource
 Base class for render objects implementing a light source. More...
 
class  VLogger
 Log messages, usually for analysing the program's internal flow for debugging purposes. More...
 
struct  VLogMessager
 
struct  VLogStreamCreator
 
class  VManagedDomainObject
 Domain-specific object creation database. More...
 
class  VManagedObject
 Common class for all objects that may be created through the database. More...
 
class  VManagedObjectBase
 Virtual base class for manageable objects. More...
 
class  VManagedObjectIterator
 Abstract iterator class for iterating over a Domain of objects. More...
 
struct  VModule
 
struct  VModules
 Namespace-like class for handling plugins. More...
 
struct  VMultiPointerDevice
 
class  VNutrition
 Base class for objects that provide data processing on a file basis, such as converting file formats. More...
 
class  VObject
 Generic base class for all VObjects. More...
 
class  VObjectAge
 Internal class used to store various ages of objects. More...
 
struct  VObjectException
 Base class for exceptions that refer to VObjects. More...
 
class  VObjectInfo
 Additional information that can be attached to some object status, such as extended log messages or warnings. More...
 
struct  VObjectIsOutOfMemory
 Base class for out-of-memory exceptions that occur in a VObject's update() function. More...
 
struct  VObjectIterator
 Iterator functor to be used for iterating over the parents of a certain VObject. More...
 
class  VObjectStatus
 Description of the status of an object, primarily to be used within a GUI display. More...
 
struct  VObjectUserInfo
 
struct  VOperatorCache
 The Operator Cache is used to memorize the result of some update() operation, and to provide it to other routines knowing the same value pool context. More...
 
class  VOutput
 Output properties of an object. More...
 
struct  VOutputAssignmentContext
 An internal type to pair VOutput's and ValuePool references. More...
 
class  VOutputIterator
 The callback class for iterating over the output objects (i.e. More...
 
class  VParameter
 A VParameter enables VObjects to retrieve certain values. More...
 
class  VParameterConnectionConstraint
 Abstract base class to allow adding constraints on parameter connectibility. More...
 
class  VParameterObjectCreator
 Base class for using a component of an object as parameter. More...
 
struct  VPipeline
 Convenient template to define VCreator objects with inputs and outputs. More...
 
struct  VPipeline< AcceptList< InputTypes >, FunctionObject, OutputType >
 
struct  VPipeline< AcceptList< InputTypes >, FunctionObject, void >
 
struct  VPipeline< InputType, FunctionObject, void >
 Reduction of the VPipeline to no output type, which constitutes a Sink. More...
 
struct  VPipeline< void, FunctionObject, OutputType >
 Reduction of the VPipeline to no input type, which constitutes a Source. More...
 
struct  VPipelineCreator
 A VPipeline that gets the input/output type definition from the specified FunctionObject. More...
 
struct  VPointer
 A convenience template class to use weak pointers on objects that are not yet defined, but known to be derived from class VManagedObjectBase . More...
 
class  VPolyOutput
 An output that adds itself as input slot to all existing objects of a given type. More...
 
class  VProxyObject
 
class  VRenderAble
 A reference to a RenderAble object. More...
 
class  VRenderContext
 Base class for objects that may display something. More...
 
class  VRenderContextBasin
 Base class for render activities that allows to create various buffer objects via the RenderBasin and provides an evaluation context, yet without explicit render-specific functionality. More...
 
struct  VRenderInterruptor
 
class  VRenderObject
 Base class for objects that implement a drawing routine. More...
 
struct  VRenderOptionUpdater
 When dealing with Render Anemones, it is frequent that the Anemone does not need to be re-created with each change of inputs. More...
 
class  VRenderPrecision
 Constraints for rendering, sustained across display contexts. More...
 
class  VRequest
 Request structure. More...
 
class  VSaveable
 Base class for objects that can be saved to some URL. More...
 
struct  VScalarFunctor
 Implements a function that yields a scalar value, given some floating point input. More...
 
class  VScene
 A scene is a class to render a collection of objects. More...
 
class  VSceneObjects
 A list of renderable objects, sorted in layers. More...
 
class  VScheduler
 Scheduler for VISH Objects. More...
 
struct  VScriptable
 Base class for objects that may be accessed via a script interface. More...
 
struct  VScriptAction
 Invoking class member functions through the VScript API. More...
 
struct  VScriptActions
 
struct  VScriptFunctor
 Implementation of a function that may be called through a script interface. More...
 
struct  VScriptLoader
 
class  VScriptParameters
 A set of named function call arguments. More...
 
class  VScriptParser
 
struct  VScriptTypedValue
 A textual encoding of a certain value, together with optional comment and default value. More...
 
struct  VScriptValue
 A polymorphic value of a function call argument or function return value. More...
 
struct  VSimpleStreamObject
 
struct  VSink
 Implements a data sink. More...
 
struct  VSink< FunctionObject, void >
 
class  VSkale
 Helper class for VObject components (so-called Vish Skales). More...
 
class  VSlot
 Intermediate class for storing (named) references to parameters. More...
 
class  VSlotChangeInfo
 Vish I/O data structure to communicate a set of Slots. More...
 
struct  VSlotContainer
 Intermediate class managing VSlots. More...
 
struct  VSlotGlobals
 Internal helper class. More...
 
class  VSlotIterator
 The callback class for iterating over the input objects (i.e. More...
 
class  VSlotSet
 
class  VSocketAction
 Abstract interface class that is to be implemented by some application. More...
 
class  VSocketActionCreator
 
struct  VSource
 Implements a data source. More...
 
struct  VStateCreator
 This is an experimental class to easy creation of context-relative object states. More...
 
class  VStateCreatorBase
 Base class for objects carrying context-specific states. More...
 
class  VStereoLens
 Stereo lens implementation using asymmetric frustum rendering. More...
 
struct  VStream
 Network connection routines. More...
 
struct  VStreamLogger
 
struct  VStreamObject
 
class  VTask
 A functor object that runs in a separate thread, if fired from a ThreadManager. More...
 
class  VTaskMessage
 Base class for messages sent from one thread to another one. More...
 
struct  VTextRenderProperties
 
class  VThreadCreator
 Creation interface providing an actual implementation of Threads. More...
 
class  VThreadManager
 Managing Threads - the code to be executed in another thread is provided in functor objects derived from VTask. More...
 
class  VTime
 An input type for steering time-dependent objects. More...
 
class  VTraceRequestID
 Trace the ID of an request. More...
 
class  VTransformable
 
class  VTypedInputValue
 Convenience class for input values that only want to check for their specific type as input, child classes merely need to override the changed() virtual function. More...
 
class  VTypedValueBase
 Base class for values with type. More...
 
class  VTypeTemplate
 
class  VUndoAction
 
class  VUndoStack
 
class  VUrlSystemHandler
 
class  VValue
 A typed value with storage within the class. More...
 
class  VValue< VSocketAction >
 The actual information that is stored for a socket connection within a VObject. More...
 
class  VValue< VThreadManager >
 VObject-local management of threads. More...
 
class  VValueBase
 Abstract base class for values which are used as input types, e.g. More...
 
struct  VValueCompareTrait
 Compares two values numerically to identify if they have changed. More...
 
struct  VValueCompareTrait< Brush >
 
struct  VValueCompareTrait< Cursor3DProperties >
 
struct  VValueCompareTrait< Plane >
 
struct  VValueCompareTrait< RefPtr< TypedChunk< Type > > >
 
struct  VValueCompareTrait< View >
 
struct  VValueCompareTrait< VThreadManager >
 
struct  VValueCopyTrait
 Type trait class that tells how to create a new value, given an existing one. More...
 
struct  VValueCopyTrait< Action >
 
struct  VValueCopyTrait< Eagle::MultiRange< T > >
 
struct  VValueCopyTrait< RefPtr< Fog > >
 
struct  VValueCopyTrait< RefPtr< Type > >
 Copy type trait for referenced types: create a new instance of the referred-to object. More...
 
struct  VValueCopyTrait< RefPtr< TypedChunk< T > > >
 Copy operation is per reference, not per value! More...
 
class  VValueCopyTrait< VBoundingBox >
 
struct  VValueCopyTrait< VColormap >
 
class  VValueCreator
 
class  VValueParameter
 Shortcut convenience class for VParameters that refer to a VValue<> storage of the actual parameter. More...
 
class  VValueParameter< Action >
 Specialization of the VValueParmeter over actions such that at construction their age is always infinitely old, thus avoiding to trigger an update right after construction, which is usually undesirable. More...
 
class  VValueParameter< VSocketAction >
 A VParameter that handles socket connections. More...
 
class  VValueParameter< VThreadManager >
 A VParameter that handles threads. More...
 
struct  VValueTrait
 Type trait for VValues that specify how to convert a certain value from and to text. More...
 
struct  VValueTrait< Action >
 
struct  VValueTrait< bool >
 
struct  VValueTrait< bool[]>
 
struct  VValueTrait< BoundingBall >
 
struct  VValueTrait< Brush >
 
struct  VValueTrait< char >
 
struct  VValueTrait< Cursor3DProperties >
 
struct  VValueTrait< double >
 
struct  VValueTrait< Eagle::FixedArray< double, 2 > >
 
struct  VValueTrait< Eagle::FixedArray< double, 4 > >
 
struct  VValueTrait< Eagle::FixedArray< int, 3 > >
 
class  VValueTrait< Eagle::metric33 >
 
struct  VValueTrait< Eagle::MultiRange< T > >
 conveniently import eagle's multirange More...
 
struct  VValueTrait< Eagle::PhysicalSpace::bivector >
 
struct  VValueTrait< Eagle::PhysicalSpace::point >
 
struct  VValueTrait< Eagle::PhysicalSpace::rotor >
 
struct  VValueTrait< Eagle::PhysicalSpace::tvector >
 
struct  VValueTrait< Enum >
 Type trait for Enum types as VObject communicators. More...
 
struct  VValueTrait< float >
 
struct  VValueTrait< ImageTile >
 
struct  VValueTrait< info >
 
struct  VValueTrait< int16_t >
 
struct  VValueTrait< int32_t >
 
struct  VValueTrait< int64_t >
 
struct  VValueTrait< Label >
 
struct  VValueTrait< LabelSet >
 
struct  VValueTrait< MemCore::RefPtr< Fog, ShaderInjectorBase > >
 
struct  VValueTrait< MetaViewerInputType >
 
struct  VValueTrait< Options >
 
struct  VValueTrait< Plane >
 
struct  VValueTrait< PointDataChunk >
 
struct  VValueTrait< Range >
 
struct  VValueTrait< RefPtr< TypedChunk< double > > >
 
struct  VValueTrait< RefPtr< TypedChunk< float > > >
 
struct  VValueTrait< RefPtr< TypedChunk< int16_t > > >
 
struct  VValueTrait< RefPtr< TypedChunk< int32_t > > >
 
struct  VValueTrait< RefPtr< TypedChunk< int64_t > > >
 
struct  VValueTrait< rgba_float_t >
 Value trait for colors. More...
 
struct  VValueTrait< std::tuple< A, B > >
 
struct  VValueTrait< string >
 VValue Specialization for strings: trivial. More...
 
struct  VValueTrait< string1 >
 
struct  VValueTrait< TransformOperator >
 Value trait to allow TransformOperators as object glue. More...
 
struct  VValueTrait< uint32_t >
 
struct  VValueTrait< VBoundingBox >
 The string I/O interface for bounding boxes. More...
 
struct  VValueTrait< VCamera >
 
struct  VValueTrait< VCameraSetPtr >
 
struct  VValueTrait< VChart >
 
struct  VValueTrait< VChartList >
 
struct  VValueTrait< VColormap >
 
struct  VValueTrait< VFrameBuffer >
 
struct  VValueTrait< VGraph >
 
struct  VValueTrait< View >
 
struct  VValueTrait< ViewerState >
 Type trait for ViewerStates, to be used for TypedSlot<ViewerState> instances. More...
 
struct  VValueTrait< VImageTileProcessor >
 
struct  VValueTrait< VInteractionEvent >
 
class  VValueTrait< VMultipleStringList >
 
struct  VValueTrait< VMultiPointerDevice >
 
struct  VValueTrait< VObjectRef >
 
struct  VValueTrait< VObjectStatus >
 
struct  VValueTrait< VRenderAble >
 
class  VValueTrait< VScalarFunctor >
 
struct  VValueTrait< VSceneLayers >
 Type trait to allow using VSceneLayers as type to be communicated across Vish objects. More...
 
class  VValueTrait< VSlotChangeInfo >
 
struct  VValueTrait< VSlotContainerRef >
 
struct  VValueTrait< VSocketAction >
 
struct  VValueTrait< VStringList >
 
struct  VValueTrait< VThreadManager >
 
struct  VValueTrait< VTime >
 
class  VValueTrait< VTypeTemplate >
 
class  VValueTraitSeparator
 
class  VValueTraitSeparator< std::tuple< A, B > >
 
struct  VValueTypename
 
struct  WebGLProgram
 
class  WebGLRenderContext
 Context for rendering into a WebGL stream. More...
 
struct  WebGLVertexAttribute
 
class  WebGLViewer
 
class  WebVish
 
struct  YYSTYPE
 

Concepts

concept  RenderLambda
 

Typedefs

using Anemone_Context_t = std::tuple< Anemone &, VRenderContext & >
 Helper construct to remember an Anemone and a VRenderContext, which can be combined by operator<< .
 
typedef MetaViewerCreatorEnvironment MetaViewerInputType
 Semantically, this is not fully correct, but until better semantics are found this is a temporary solution.
 
using MouseCoordinate = Eagle::point3
 Mouse coordinates are in range [0,0] - [1,1].
 
using NamedIdentifiers = map< string, IdentifierWithUrl >
 A set of named identifiers.
 
using Options = FlagList
 Input type for a list of flags.
 
using OverlayCoordinate = Eagle::point3
 OpenGL overlay coordinates are [-1,-1] - [1,1], this corresponds to unit modelview and projection matrices.
 
typedef std::string ParameterID
 The identifier of Object parameters.
 
typedef Eagle::FixedArray< double, 2 > Position2D
 Type used for 2D positions such as pixels on a screen.
 
template<typename F >
using render_lambda_signature = render_lambda_traits< decltype(&std::remove_cvref_t< F >::operator())>
 A type trait class that matches lambda functions that take a VRenderContext& as first argument, and allows to extract both return type as render_lambda_signature<F>::return_type and second argument type as render_lambda_signature<F>::slot_type .
 
using VAcceptInfoList_t = std::list< RefPtr< VAcceptInfo > >
 A list of accept informations.
 
typedef WeakPtr< ValuePool, ValuePoolValuePoolPtr
 A pointer to value pools.
 
typedef const std::pair< const RefPtr< ValueSet >, const RefPtr< ValuePool > > ValueSetPair
 Pairing of a ValueSet and a ValuePool.
 
typedef MemCore::RefPtr< Eagle::BoundingBoxVBoundingBox
 The Vish type to communicate bounding boxes.
 
typedef MemCore::RefPtr< MemCore::TypedChunk< double > > VDataChunk
 A chunk of floating point numbers, double precision.
 
typedef VDataChunk VDoubleDataChunk
 Alias for chunk of double precision floating point numbers.
 
typedef MemCore::RefPtr< MemCore::TypedChunk< float > > VFloatDataChunk
 A chunk of floating point numbers, single precision.
 
typedef VSlotIterator VObjectInputIterator
 
typedef MemCore::RefPtr< StringSelectionVStringList
 Input type of a list of strings.
 
typedef WeakPtr< VSlotContainer, VManagedObjectBaseWeakPtrToVSlotContainer
 Forward declaration for pointers to VSlotContainer objects.
 
typedef MemCore::WeakPtr< VCreatorBase, VManagedObjectBaseWeakPtrVCreatorBase
 Declaration for pointers to VCreatorBase objects.
 

Enumerations

enum  { MIN_EXPERT_LEVEL = -1000 , MAX_EXPERT_LEVEL = +1000 , INVALID_EXPERT_LEVEL = MAX_EXPERT_LEVEL * 2 }
 
enum  RenderCategory {
  RENDER_FIRST = INT_MIN , BACKGROUND_OBJECT = -500000 , CAMERA_OBJECT = -300000 , BACKGROUND_OBJECT_NEXT = CAMERA_OBJECT ,
  CAMERA_LENS_OBJECT = -250000 , CAMERA_OBJECT_NEXT = CAMERA_LENS_OBJECT , NAVIGATION_OBJECT = -200000 , CAMERA_LENS_OBJECT_NEXT = NAVIGATION_OBJECT ,
  CELESTIAL_OBJECT = -100000 , DEFAULT_OBJECT = 0 , LIGHT_OBJECT = 1000 , MEDIUM_OBJECT = 2000 ,
  HEAVY_OBJECT = 4000 , TRANSPARENCY_HANDLER = 100000 , DEFAULT_OBJECT_NEXT = TRANSPARENCY_HANDLER , TRANSPARENT_OBJECT = 200000 ,
  TRANSPARENCY_HANDLER_NEXT = TRANSPARENT_OBJECT , VOLUMETRIC_OBJECT = TRANSPARENT_OBJECT+1000 , SLICEABLE_OBJECT = 300000 , TRANSPARENT_OBJECT_NEXT = SLICEABLE_OBJECT ,
  OVERLAY_OBJECT = 400000 , SLICEABLE_OBJECT_NEXT = OVERLAY_OBJECT , RENDER_LAST = INT_MAX
}
 The render category. More...
 

Functions

template<class SlotType , class VObjectClass , void(VObjectClass::*)(const SlotType &, const ValuePoolPtr &Context) const callback>
RefPtr< ValueNotifieraddNotifier (TypedSlot< SlotType > &theSlot, VObjectClass *That)
 A global function that allows to add a notifier callback to a given TypedSlot.
 
bool containsPreference (const RefPtr< VCreationPreferences > &VP, const string &P)
 Convenience function to check a creation preference.
 
bool createVScript (std::ostream &out, const std::string &ScriptPathName, const std::function< bool(const MemCore::RefPtr< VObject > &)> &SkipSaving=nullptr)
 Create a Vish Script from the current status of Vish Objects, their parameters and relationships, and write it to the given output stream.
 
template<size_t N>
RenderNamespace::glsl embed_glsl (const char(&file_content)[N])
 Helper function to directly embed some file content as const character array without 0-byte to be used as glsl.
 
RenderNamespace::glsl embed_glsl (const std::initializer_list< unsigned char > &data)
 Helper function to directly embed some file content as a string, to be used as glsl, use syntax such as:
 
template<typename... SlotList>
SlotEvaluator< sizeof...(SlotList), SlotList... >::result_type evaluateSlots (const RefPtr< ValuePool > &Context, SlotList... t)
 Evaluate a list of slots and return a tuple<> of result types.
 
RefPtr< VInputCreatorBasefindBestVInputCreator (const type_info &what, const RefPtr< VCreationPreferences > &prop)
 Search through the database of creator objects for input objects such that the specified properties are matched best.
 
std::pair< size_t, size_t > getGPUMemoryInfo ()
 Returns both DedicatedVideoMemory and SharedSystemMemory.
 
bool glCall (const RefPtr< DisplayList > &DL) throw ()
 Call a display list if it is a valid.
 
void glDraw (const Eagle::BoundingBox &BB)
 Draw a bounding box via OpenGL, including some rounding of edges, as inspired by http://www.bluevoid.com/opengl/sig00/advanced00/notes/node290.html.
 
bool glDraw (const VBoundingBox &BB)
 Draw a bounding box via OpenGL, including some rounding of edges, as inspired by http://www.bluevoid.com/opengl/sig00/advanced00/notes/node290.html.
 
void glDrawBox (const Eagle::PhysicalSpace::point &Min, const Eagle::PhysicalSpace::point &Max)
 Draw a bounding box via OpenGL, including some rounding of edges, as inspired by http://www.bluevoid.com/opengl/sig00/advanced00/notes/node290.html.
 
bool includeLibraryPath ()
 Include the application's folder directory in the path of searched runtime libraries.
 
bool includeLibraryPath (const string &path)
 Include the given directory path in the list of searched runtime libraries.
 
bool iterateVInputCreators (const type_info &what, VInputCreatorIterator &VICI)
 Given a certain type, iterate through all registered VCreator objects that may create objects providing this type.
 
bool LoadVModule (const string &what, HandleModuleLoadError ErrorHandler)
 Return value: successfully handled.
 
MemCore::RefPtr< IndexBufferObjectnewIndexBuffer (const MemCore::RefPtr< MemCore::ChunkBase > &data, BufferArray::usage usage_hint=BufferArray::STATIC_DRAW)
 Create an OpenGL Index Buffer from some abstract chunk of data.
 
template<class Type >
MemCore::RefPtr< IndexBuffer< Type > > newIndexBuffer (const MemCore::RefPtr< MemCore::TypedChunk< Type > > &data, BufferArray::usage usage_hint=BufferArray::STATIC_DRAW)
 Create an OpenGL Index Buffer from a Chunk of memory of known type.
 
template<class Type >
MemCore::RefPtr< IndexBuffer< Type > > newIndexBuffer (const std::vector< Type > &data, BufferArray::usage usage_hint=BufferArray::STATIC_DRAW)
 Create an OpenGL Index Buffer from a std::vector<> of indices.
 
int openModules (const string &dirpath, bool callback(const char *n, bool), HandleModuleLoadError ErrorHandler, bool CountOnly=false, const MemCore::RefPtr< MemCore::StringList > &Oceans=NullPtr())
 Load all VISH modules under the given path.
 
bool operator!= (const MultipleStringSelection &a, const MultipleStringSelection &b)
 Inequality comparison operator.
 
VAcceptInfoList_t operator& (const VAcceptInfoList_t &AI, const std::string &reason)
 Convenience operator to set the reason information by just adding a string to the pointer.
 
VAcceptInfoList_t operator* (const VAcceptInfoList_t &AI, double value)
 Convenience operator to set the suitability flag by just multiplying the pointer with a double value.
 
VAcceptInfoList_t operator+ (VAcceptInfoList_t &&l, VAcceptInfoList_t &&r)
 Helper function to merge two VAcceptInfoList_t .
 
Anemone_Context_t operator<< (Anemone &A, VRenderContext &VC)
 Combine an Anemone and a VRenderContext, as syntactic sugar to be used in the render context operators.
 
Anemone_Context_String_t operator<< (const Anemone_Context_Parameter_t &AC, const string &name)
 Create an Anemone context with identifier.
 
MemCore::WeakPtr< VRenderContext::RenderFlagoperator<< (const Anemone_Context_String_t &ACS, bool Value)
 Enable/Disable an OpenGL State.
 
template<int M, typename T >
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const Anemone_Context_String_t &ACS, const Eagle::FixedArray< T, M > &Value)
 Set a constant value as render parameter.
 
template<class Modifier >
std::tuple< Anemone &, VRenderContext &, std::string, Modifier > operator<< (const Anemone_Context_String_t &ACS, const Modifier &M)
 Include a modifier in the Anemone stream.
 
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const Anemone_Context_String_t &ACS, double V)
 Set a constant value as render parameter.
 
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const Anemone_Context_String_t &ACS, int V)
 Set a constant value as render parameter.
 
template<class Type >
Anemone_Context_Parameter_t operator<< (const Anemone_Context_String_t &Target, const TypedSlot< Type > &InputSlot)
 Couple a uniform variable with an object's input slot using and the name of the shader variable must be identical to the name of the input slot.
 
template<class Type >
Anemone_Context_Parameter_t operator<< (const Anemone_Context_String_t &Target, const VObject::in< Type > &InputSlot)
 Couple a uniform variable with an object's input slot using the name of the input slot.
 
template<class Type >
Anemone_Context_Parameter_t operator<< (const Anemone_Context_String_t &Target, const VObject::inout< Type > &InputSlot)
 Couple a uniform variable with an object's input slot using the name of the input slot.
 
Anemone_Context_String_t operator<< (const Anemone_Context_t &AC, const string &name)
 Create an Anemone context with identifier.
 
SlotContext operator<< (const RefPtr< VSlot > &Slot, const RefPtr< ValuePool > &VP)
 Create a SlotContext from slot and value pool, using the leftshift operator.
 
template<class Type >
Anemone_Context_Parameter_t operator<< (const std::tuple< Anemone &, VRenderContext & > &Target, const TypedSlot< Type > &InputSlot)
 Couple a uniform variable with an object's input slot using the name of the input slot.
 
template<class Type , class Modifier >
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const std::tuple< Anemone &, VRenderContext &, std::string, Modifier > &Target, const TypedSlot< Type > &InputSlot)
 Couple a Vish Object's input slot with a uniform shader variable via some functor, allowing for the following syntax:
 
template<class Object , class ParameterType >
const std::tuple< Anemone &, VRenderContext &, std::string, ParameterType(Object::*)(const ParameterType &, VRenderContext &Context) const, const Object * > operator<< (const std::tuple< Anemone &, VRenderContext &, std::string, ParameterType(Object::*)(const ParameterType &, VRenderContext &Context) const > &Target, const Object *theObject)
 Couple an Anemone's updateValues() function with an VObject's member function.
 
template<class Object , class ParameterType >
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const std::tuple< Anemone &, VRenderContext &, std::string, ParameterType(Object::*)(const ParameterType &, VRenderContext &Context) const, const Object * > &Target, const ParameterType &Value)
 Couple an Anemone's updateValues() function with an VObject's member function.
 
template<class Object , class ParameterType , class Type >
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const std::tuple< Anemone &, VRenderContext &, std::string, ParameterType(Object::*)(const Type &, VRenderContext &Context) const, const Object * > &Target, const VObject::in< Type > &InputSlot)
 Couple an Anemone's updateValues() function with an VObject's member function via a modifier function on a slot.
 
template<class Object , class ParameterType , class Type >
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const std::tuple< Anemone &, VRenderContext &, std::string, ParameterType(Object::*)(const Type &, VRenderContext &Context) const, const Object * > &Target, const VObject::inout< Type > &InputSlot)
 Couple an Anemone's updateValues() function with an VObject's member function via a modifier function on a slot.
 
template<class Object , class ParameterType >
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<< (const std::tuple< Anemone &, VRenderContext &, std::string, ParameterType(Object::*)(VRenderContext &Context) const > &Target, const Object *theObject)
 Couple an Anemone's updateValues() function with an VObject's member function.
 
template<class Type >
bool operator<< (const VOutputAssignmentContext< Type > &p, const Type &T)
 Allows to set an output parameter in a context-sensitive way:
 
template<class Value >
MemCore::WeakPtr< VRenderContext::RenderParameteroperator<<= (const Anemone_Context_String_t &ACS, const Value &V)
 Set a constant value as render parameter.
 
template<class Type >
bool operator<<= (const VOutputAssignmentContext< Type > &p, const Type &T)
 Allows to set an output parameter in a context-sensitive way, only updating it if it has changed.
 
bool operator== (const MultipleStringSelection &a, const MultipleStringSelection &b)
 Equality comparison operator.
 
bool operator> (const SlotContext &SC, const std::pair< WeakPtr< GLProgram >, string > &)
 Operator abuse: Allow direct assignment of a shader variable from a slot context.
 
bool operator> (const SlotContext &SC, const WeakPtr< GLProgram > &P)
 Operator abuse: Allow direct assignment of a shader variable from a slot context using the slot's name as variable name.
 
template<typename Type >
MemCore::RefPtr< RenderBasin::RenderParameteroperator>> (const Anemone_Context_String_t &ACS, const Type &Functor)
 Couple an Anemone's updateValues() function with functor, in particular a lambda function:
 
template<class Type >
bool operator>> (const SlotContext &SC, Type &Variable)
 Assign a variable from a slot context, returns true or false, if this was possible or not.
 
template<class Type >
bool operator>> (const VOutputAssignmentContext< Type > &p, Type &T)
 Allows to retrieve an input parameter in a context-sensitive way:
 
MouseCoordinate OverlayToPointer (const OverlayCoordinate &OverlayPosition)
 Go from overlay coordinates [-1,-1] - [1,1] to mouse cursor coordinates [0,0] - [1,1].
 
OverlayCoordinate PointerToOverlay (const MouseCoordinate &CursorPosition)
 Go mouse cursor coordinates [0,0] - [1,1] to from overlay coordinates [-1,-1] - [1,1].
 
bool registerVInput (const type_info &what, const WeakPtr< VInputCreatorBase > &impl)
 Register a certain VInputCreatorBase object as having the capability to create an object that may provide a certain type.
 
void RequireGLContext ()
 An internal safety function that checks whether an OpenGL context is currently enabled for the active thread.
 
template<class T >
bool setFromString (T &Val, const string &txt)
 Polymorphic function to set a value given some string.
 
template<class T >
string String (const T &Val)
 Return the textual representation of some value.
 
bool UnloadVModule (const std::string &what, VManagedObject::VRemoveItem &RI)
 Remove a module from memory and all objects which have been created from this module.
 
bool unregisterVInput (const type_info &what, const WeakPtr< VInputCreatorBase > &impl)
 Remove a creator's property to provide a certain type from the registry.
 
void Vprintf (int verbosity, const char *format,...)
 Print internal information to stderr, detailness according to verbosity_level.
 

Variables

int verbosity_level = -1
 The verbosity level of printed debug information, higher values increase output.
 
struct VBASE_API VObjectIterator
 Iterator functor for a sequence of objects.
 

Detailed Description

The Vish namespace.

It is historically not "Vish" but something else, but since it is weird enough to be unique, we'll just keep it that way. It is unlikely that someone else will chose this namespace as well.

The Vish namespace embraces classes that constitute the Vish visualization environment. All classes that depend on Vish base classes should be put into this namespaces, classes that don't depend on it should be in another namespace. For instance, there is the Fiber namespace for the optional datamodel as implemented by the FiberLib2. These base classes are independent of the Vish kernel. The interface classes between Vish and the FiberLib2 are however placed into the Vish namespace.

Note that the spelling "Wizt" is not to imply the German meaning of "Witz" (joke). It has multiple interpretations, among them something like "wishful visualization toolkit", "Wizard's Toolkit" and more. This was some historically initial choice for what has become Vish later. It is still a good synonym, but harder to pronounce and remember than Vish. Plus, there is this possibly misleading connection to the aforementioned German word. The term "Vish" comes with the promotional advantage that people using Vish for Scientific Visualization tend to speak about Vishualization after a while. ;)


Class Documentation

◆ Wizt::AcceptList

class Wizt::AcceptList
template<class AcceptType, class NextAcceptList = void>
class Wizt::AcceptList< AcceptType, NextAcceptList >

◆ Wizt::AnemoneCreatorContext

struct Wizt::AnemoneCreatorContext

Convenience class to pair a render context and an AnemoneCreator.

Class Members
RefPtr< AnemoneCreatorBase > myAnemoneCreator The Anemone Creator that is uniquely associated with each Render Anemone.

It persists through repeated render calls.

VRenderContext & myContext

◆ Wizt::GimpIcon

struct Wizt::GimpIcon

A map of ref pointers to input objects.

Basically, typedef map<int, map<string, RefPtr<VParameter> > > VInputSet;

For object icons: the image format as saved by GIMP when saving as "C" source. Note that the pixel_data are defined as one element in this structure, but actually it is as large as the image requires.

◆ Wizt::GLSL_View.CameraSettings

struct Wizt::GLSL_View.CameraSettings

◆ Wizt::GLSL_View.FrustumCornerPoints

struct Wizt::GLSL_View.FrustumCornerPoints

◆ Wizt::GLSL_View.Viewport

struct Wizt::GLSL_View.Viewport

◆ Wizt::GLType

struct Wizt::GLType

◆ Wizt::HTMLInputCreator

struct Wizt::HTMLInputCreator

◆ Wizt::MemberID

struct Wizt::MemberID

◆ Wizt::render_lambda_traits

struct Wizt::render_lambda_traits
template<typename T>
struct Wizt::render_lambda_traits< T >

◆ Wizt::render_lambda_traits< Ret(Class::*)(Arg1, Arg2) const >

struct Wizt::render_lambda_traits< Ret(Class::*)(Arg1, Arg2) const >
template<typename Ret, typename Class, typename Arg1, typename Arg2>
struct Wizt::render_lambda_traits< Ret(Class::*)(Arg1, Arg2) const >

◆ Wizt::TEXTURE

struct Wizt::TEXTURE

◆ Wizt::VertexArrayCreator

struct Wizt::VertexArrayCreator
template<int>
struct Wizt::VertexArrayCreator< int >

◆ Wizt::VERTEXBUFFER

struct Wizt::VERTEXBUFFER

◆ Wizt::VTextRenderProperties

struct Wizt::VTextRenderProperties

◆ Wizt::VValueTraitSeparator

class Wizt::VValueTraitSeparator
template<class X>
class Wizt::VValueTraitSeparator< X >

◆ Wizt::YYSTYPE

struct Wizt::YYSTYPE

Typedef Documentation

◆ ValueSetPair

typedef const std::pair<const RefPtr<ValueSet>, const RefPtr<ValuePool> > Wizt::ValueSetPair

Pairing of a ValueSet and a ValuePool.

This provides context information for evaluation of VSlots

◆ VObjectInputIterator

Todo:
Replace VObjectInputIterator --> VSlotIterator

◆ WeakPtrVCreatorBase

Declaration for pointers to VCreatorBase objects.

Forward declaration for pointers to VCreatorBase objects.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MIN_EXPERT_LEVEL 

Minimal expertlevel.

MAX_EXPERT_LEVEL 

Maximal expert level.

INVALID_EXPERT_LEVEL 

invalid expert level

◆ RenderCategory

The render category.

Enumerator
RENDER_FIRST 

The minimum level.

Denotes objects that are rendered first.

BACKGROUND_OBJECT 

Background objects are fixed with respect to the viewer.

Background objects are rendered with projection and model view matrix set to identity matrix.

CAMERA_OBJECT 

Implementation of Camera objects, i.e.

objects that set the CameraSettings property in a VRenderContext. Such objects are not supposed to do any OpenGL rendering per se. Other objects may be introduced at CAMERA_OBJECT+N, where N is a number larger than zero such that the result is still smaller than CAMERA_LENS_OBJECT. Such objects may modify the VRenderContext::CameraSettings properties, depending on other parameters, such as required for cube mapping, panorama rendering, Cave support and similar.

A full implementation of camera interaction and setup in Vish also requires a CAMERA_LENS_OBJECT, which sets up the projection matrix based on the VRenderContext and a NAVIGATION_OBJECT that finally sets the model view matrix.

CAMERA_LENS_OBJECT 

Implementations of Camera lenses, i.e.

objects which modify the projection matrix. Camera objects are called with active projection matrix. A user-defined camera object is implemented like a usual render object, but with its priority set to CAMERA_OBJECT. Its purpose is to modify the current OpenGL matrix (which is the projection matrix). For this, it must overload the environment_render() routine.

NAVIGATION_OBJECT 

Implementation for Camera navigation, i.e.

objects which modify the modelview matrix for navigation purposes. Derived objects overload the environment_render() routine. All objects with a higher priority will be subject to navigation, objects with lower priority will reside fixed relative to the camera (e.g., could be a window or airplane console).

CELESTIAL_OBJECT 

Celestial objects reside in the background, but are fully transformed due to camera motion.

Celestial objects are called after the camera has been set, but the current matrix is the model view matrix.

DEFAULT_OBJECT 

Usual objects shall be assigned a priority number around zero.

Slight deviations (+/-10000) are permittable in case the order in which these objects shall be rendered is of relevance.

LIGHT_OBJECT 

Objects that are presumably lightweight (fast!) to render.

HEAVY_OBJECT 

Objects that are presumably NOT lightweight (slow!) to render.

TRANSPARENT_OBJECT 

Transparent objects should be rendered after opaque objects have been rendered.

VOLUMETRIC_OBJECT 

Objects that implement methods like volume rendering, which should come a little later than generic transparent objects.

SLICEABLE_OBJECT 

Special class of transparent objects that support slicing, i.e.

partial drawing in the z-direction (depth, or distance from eye).

OVERLAY_OBJECT 

Overlay objects are rendered after all other objects have been rendered.

The projection matrix is set to identity.

RENDER_LAST 

The maximum level.

Denotes objects that are rendered last.

Function Documentation

◆ createVScript()

VSCRIPT_API bool Wizt::createVScript ( std::ostream &  outfile,
const std::string &  ScriptPathName,
const std::function< bool(const MemCore::RefPtr< VObject > &)> &  SkipSaving 
)

Create a Vish Script from the current status of Vish Objects, their parameters and relationships, and write it to the given output stream.

Iterate over all objects available

If the object is loaded from a file, then load it here

References MemCore::StringUtil::crop_prefix(), MemCore::DirName(), MemCore::DynPtr< Object, ObjectBase >::getType(), MemCore::StringUtil::ltrim(), MAX_EXPERT_LEVEL, MemCore::StringUtil::split(), MemCore::StringUtil::subst(), and Wizt::VManagedObject::traverse().

Referenced by VishScriptSaver::save().

◆ embed_glsl()

RenderNamespace::glsl Wizt::embed_glsl ( const std::initializer_list< unsigned char > &  data)
inline

Helper function to directly embed some file content as a string, to be used as glsl, use syntax such as:

glsl fragment_shader(VRenderContext&Context) const override
{
return embed_glsl( {
#embed "myShaderCode.frag"
} );
}
A set of variable names, with indices associated to each type.
Definition Context.hpp:18
Base class for objects that may display something.
Definition VRenderContext.hpp:77
RenderNamespace::glsl embed_glsl(const char(&file_content)[N])
Helper function to directly embed some file content as const character array without 0-byte to be use...
Definition RenderNamespace.hpp:587

◆ glCall()

bool Wizt::glCall ( const RefPtr< DisplayList > &  DL)
throw (
)
inline

Call a display list if it is a valid.

Parameters
DLReference to a display list object.

◆ glDraw()

bool Wizt::glDraw ( const VBoundingBox BB)
inline

Draw a bounding box via OpenGL, including some rounding of edges, as inspired by http://www.bluevoid.com/opengl/sig00/advanced00/notes/node290.html.

Returns
If there is no bounding box here, nothing will be drawn, and the function returns false.

References glDraw().

◆ LoadVModule()

VBASE_API bool Wizt::LoadVModule ( const string &  what,
HandleModuleLoadError  ErrorHandler 
)

Return value: successfully handled.

Load a VISH Plugin, returns false if the file could not be found.

◆ newIndexBuffer() [1/3]

MemCore::RefPtr< IndexBufferObject > Wizt::newIndexBuffer ( const MemCore::RefPtr< MemCore::ChunkBase > &  data,
BufferArray::usage  usage_hint = BufferArray::STATIC_DRAW 
)

Create an OpenGL Index Buffer from some abstract chunk of data.

Note that these data must be either unsigned short or unsigned int, other types are not supported by OpenGL. unsigned char is possible as well, in case your viz needs are less than 256 elements and memory is really tight.

References newIndexBuffer().

Referenced by Wizt::VGLRenderContext::createIndexBuffer(), and newIndexBuffer().

◆ newIndexBuffer() [2/3]

template<class Type >
MemCore::RefPtr< IndexBuffer< Type > > Wizt::newIndexBuffer ( const MemCore::RefPtr< MemCore::TypedChunk< Type > > &  data,
BufferArray::usage  usage_hint = BufferArray::STATIC_DRAW 
)

Create an OpenGL Index Buffer from a Chunk of memory of known type.

Note that only unsigned integer types are supported by OpenGL.

◆ newIndexBuffer() [3/3]

template<class Type >
MemCore::RefPtr< IndexBuffer< Type > > Wizt::newIndexBuffer ( const std::vector< Type > &  data,
BufferArray::usage  usage_hint = BufferArray::STATIC_DRAW 
)
inline

Create an OpenGL Index Buffer from a std::vector<> of indices.

Note that only unsigned integer types are supported by OpenGL.

◆ openModules()

VBASE_API int Wizt::openModules ( const string &  dirpath,
bool   callbackconst char *n, bool,
HandleModuleLoadError  ErrorHandler,
bool  CountOnly = false,
const MemCore::RefPtr< MemCore::StringList > &  Oceans = NullPtr() 
)

Load all VISH modules under the given path.

VISH modules are shared librarys (aka dll's) that are loaded at runtime. We call them the "vishes".

Parameters
dirpathSome path were vishes may reside, ready so swim (to be loaded). The dirpath may contain a filename, which is cropped off then.
callbackAn optional callback function that is called for each found vish .
CountOnlyIf set, it doesn't try to load the modules, but just gives a count of the files in the specified directory.
OceansThe oceans where to look at, which are subdirectories of Vish modules. They reside in the bin directory of Vish.

References MemCore::StringUtil::crop_after_last(), and openModules().

Referenced by openModules().

◆ operator!=()

bool SHRIMP_API Wizt::operator!= ( const MultipleStringSelection a,
const MultipleStringSelection b 
)

Inequality comparison operator.

Parameters
aThe first MultipleStringSelection object.
bThe second MultipleStringSelection object.
Returns
true if the objects are not equal, false otherwise.

◆ operator&()

VAcceptInfoList_t Wizt::operator& ( const VAcceptInfoList_t AI,
const std::string &  reason 
)

Convenience operator to set the reason information by just adding a string to the pointer.

Note: All entries will be modified!

◆ operator*()

VAcceptInfoList_t Wizt::operator* ( const VAcceptInfoList_t AI,
double  value 
)

Convenience operator to set the suitability flag by just multiplying the pointer with a double value.

Note: All entries will be modified!

◆ operator+()

VAcceptInfoList_t Wizt::operator+ ( VAcceptInfoList_t &&  l,
VAcceptInfoList_t &&  r 
)
inline

Helper function to merge two VAcceptInfoList_t .

Note that the right argument will be empty and the left will be modified.

◆ operator<<()

template<class Type >
bool Wizt::operator<< ( const VOutputAssignmentContext< Type > &  p,
const Type &  T 
)
inline

Allows to set an output parameter in a context-sensitive way:

int r;
R << Context << r;
Output properties of an object.
Definition VSlotContainerIO.hpp:222

Sets the value of the output parameter R to be that of the local variable r, relative to the given context.

Note
This function touches the respective output slot, even if the value is the same as it was.

◆ operator<<=()

template<class Type >
bool Wizt::operator<<= ( const VOutputAssignmentContext< Type > &  p,
const Type &  T 
)
inline

Allows to set an output parameter in a context-sensitive way, only updating it if it has changed.

This function requires a copy constructor for the respective type and assumes the existence of an inequality operator "!=". Application code is like this:

int r;
R << Context <<= r;

Sets the value of the output parameter R to be that of the local variable r, relative to the given context.

Note
This function touches the respective output slot \i only if the new value is different than what it was.

◆ operator==()

bool SHRIMP_API Wizt::operator== ( const MultipleStringSelection a,
const MultipleStringSelection b 
)

Equality comparison operator.

Parameters
aThe first MultipleStringSelection object.
bThe second MultipleStringSelection object.
Returns
true if the objects are equal, false otherwise.

◆ operator>() [1/2]

bool Wizt::operator> ( const SlotContext &  SC,
const std::pair< WeakPtr< GLProgram >, string > &   
)

Operator abuse: Allow direct assignment of a shader variable from a slot context.

HOffset << Context > MyProgram->uniform("hoffset");

With HOffset being a Slot.

◆ operator>() [2/2]

GLVISH_API bool Wizt::operator> ( const SlotContext &  SC,
const WeakPtr< GLProgram > &  P 
)

Operator abuse: Allow direct assignment of a shader variable from a slot context using the slot's name as variable name.

MySlot << Context > MyProgram;

With MySlot being a TypedSlot.

◆ operator>>() [1/2]

template<class Type >
bool Wizt::operator>> ( const SlotContext &  SC,
Type &  Variable 
)
inline

Assign a variable from a slot context, returns true or false, if this was possible or not.

Note that the type of the slot and variable type do not need to match necessarily.

◆ operator>>() [2/2]

template<class Type >
bool Wizt::operator>> ( const VOutputAssignmentContext< Type > &  p,
Type &  T 
)
inline

Allows to retrieve an input parameter in a context-sensitive way:

int r;
R << Context >> r;

Reads the value of the output parameter R into the local variable r, relative to the given context.

◆ OverlayToPointer()

MouseCoordinate Wizt::OverlayToPointer ( const OverlayCoordinate OverlayPosition)
inline

Go from overlay coordinates [-1,-1] - [1,1] to mouse cursor coordinates [0,0] - [1,1].

Note that z coordinate remains unchanged.

Referenced by Wizt::Brush::computeBoundingBoxInWorldSpace(), Wizt::Brush::getBrushInWorldSpace(), and Wizt::View::WorldToScreen_zero_to_one().

◆ PointerToOverlay()

OverlayCoordinate Wizt::PointerToOverlay ( const MouseCoordinate CursorPosition)
inline

Go mouse cursor coordinates [0,0] - [1,1] to from overlay coordinates [-1,-1] - [1,1].

Note that z coordinate remains unchanged.

◆ RequireGLContext()

GLVISH_API void Wizt::RequireGLContext ( )

An internal safety function that checks whether an OpenGL context is currently enabled for the active thread.

If not, an exception will be thrown.

Referenced by Wizt::BufferID::bindBuffer(), Wizt::BufferID::createId(), Wizt::BufferID::makeId(), and Wizt::GLTextureID::selectActiveTextureUnit().

Variable Documentation

◆ verbosity_level

VBASE_API int Wizt::verbosity_level = -1

The verbosity level of printed debug information, higher values increase output.

By default, it uses the value of the environment variable VVERBOSITY, but may be set to any value by an application. If it set to a negative value, it will use the environment variable upon next call of Vprintf().

Referenced by Vprintf().