| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/engine.h>

Public Types | |
| enum | TFType { modelviewMatrix = 0, projectionMatrix = 1, textureMatrix = 2, colorMatrix = 3 } |
| enum | SwitchType { ON = 1, OFF = 2, ALL = 3 } |
| typedef Callback1< SO< Engine > > | RenderCallback |
| The pre and post render callbacks are called before and after the evaluation of the scene graph. | |
Public Member Functions | |
| VRS_TYPEINFO (Engine, SharedObj) | |
| Engine () | |
| virtual | ~Engine () |
| virtual void | push (MonoAttribute *attr) |
| Pushes a mono attribute and calls its painter, shader or simplifier. | |
| virtual void | push (PolyAttribute *attr) |
| Pushes a poly attribute and calls its painter or simplifier, if available. | |
| virtual void | push (Switch *sw) |
| Pushes a switch and (de)activates poly attributes accordingly. | |
| virtual void | push (Handler *hdl) |
| Pushes a handler. | |
| virtual void | push (Technique *tech) |
| Pushes a technique. | |
| virtual void | pop (MonoAttribute *attr) |
| Pops a mono attribute and calls its painter, shader or simplifier. | |
| virtual void | pop (PolyAttribute *attr) |
| Pops a poly attribute and calls its painter or simplifier, if available. | |
| virtual void | pop (Switch *sw) |
| Pops a switch, setting old poly attributes switch settings again. | |
| virtual void | pop (Handler *hdl) |
| Pops a handler. | |
| virtual void | pop (Technique *tech) |
| Pops a technique. | |
| virtual void | eval (const Shape *shape) |
| virtual void | eval (const MonoAttribute *attr, bool pushHint) |
| looks for, and invokes painter, shader or simplifier for the attribute | |
| virtual void | eval (const PolyAttribute *attr, unsigned int index, bool pushHint) |
| looks for, and invokes painter or simplifier for the attribute | |
| virtual bool | isHandledByShader (const MonoAttribute *attr) |
| Determines whether a mono attribute is evaluated with a shader. | |
| virtual bool | demandsShadingPass (const MonoAttribute *attr) |
| Returns whether additional shading passes are needed, see isHandledByShader. | |
| virtual unsigned int | shadingPass () const |
| Reports the actual pass of a multipass shading algorithm, see isHandledByShader. | |
| virtual void | push (Attribute *attr) |
| virtual void | pop (Attribute *attr) |
| virtual void | pop (const ID &id) |
| Pops an attribute from the stack specified by its id. | |
| virtual void | setProcessor (TechniqueProcessor *) |
| Sets the evaluation strategy used for scene graph evaluation. | |
| virtual TechniqueProcessor * | getProcessor () const |
| Gets the evaluation strategy used for scene graph evaluation. | |
| VRS_SERIALIZABLE_CLASS_ENUM (TFType) | |
| virtual void | pushTf (TFType category=Engine::modelviewMatrix) |
| Stores the matrix of the specified stack. | |
| virtual void | popTf (TFType category=Engine::modelviewMatrix) |
| Restores the matrix of the specified stack. | |
| virtual void | multTf (const Matrix &matrix, TFType category=Engine::modelviewMatrix) |
| Multiplies a given matrix on the current top matrix of the specified stack. | |
| virtual void | loadTf (const Matrix &matrix, TFType category=Engine::modelviewMatrix) |
| Replaces the top matrix of the specified stack. | |
| virtual Matrix | currentTf (TFType category=Engine::modelviewMatrix) const |
| Returns the current top matrix of the specified stack. | |
| virtual Matrix | currentTfInv (TFType category=Engine::modelviewMatrix) const |
| Returns the inverse of the current top matrix of the specified stack - uses caching! | |
| virtual Matrix | orientationTf () const |
| Returns the orientation matrix. | |
| virtual Matrix | orientationTfInv () const |
| Returns the inverted orientation matrix. | |
| virtual void | setOrientationTf (const Matrix &matrix) |
| virtual void | setOrientationTf () |
| Sets the orientation matrix. | |
| virtual Matrix | currentNormalizedDeviceCoordsTf () const |
| Returns the current normalized device coords transformation. | |
| virtual Matrix | currentPureProjectionTf () const |
| virtual Matrix | currentPureProjectionTfInv () const |
| Returns the current projection matrix excluding the ndcTf (convenience method using internal caching). | |
| virtual void | pushViewInfoFactory (SO< ViewInfoFactory > newViewInfoFactory) |
| Sets the a new ViewInfoFactory. | |
| virtual void | popViewInfoFactory () |
| removes the active CameraInfoFactory. | |
| virtual SO< ViewInfo > | viewInfo () const |
| Returns the view info for the currently active transformations. | |
| virtual SO< CameraInfo > | cameraInfo () const |
| virtual Handler * | handler (const ID &service, const ID &target) const |
| Returns the camera info for the currently active transformations. | |
| virtual Painter * | painter (const ID &target) const |
| virtual Simplifier * | simplifier (const ID &target) const |
| virtual void | pushMonoAttribute (const ID &category, MonoAttribute *attr) |
| Pushes a mono attribute to an explicitly specified stack (by category). | |
| virtual void | popMonoAttribute (const ID &category) |
| Pops a mono attribute from an explicitly specified stack (by category). | |
| virtual MonoAttribute * | getMonoAttribute (const ID &category) const |
| Returns the top mono attribute of an explicitly specified stack (by category). | |
| VRS_SERIALIZABLE_CLASS_ENUM (SwitchType) | |
| For switch settings (ON / OFF) and for switch queries (ON / OFF / ALL). | |
| virtual unsigned int | appendPolyAttribute (const ID &category, PolyAttribute *attr, SwitchType switchSetting=Engine::ON) |
| Appends the poly attribute to the poly attribute table (specified by category). | |
| virtual void | removePolyAttribute (const ID &category, PolyAttribute *attr) |
| Removes the last poly attribute in the poly attribute table. | |
| virtual void | applyGlobalPolyAttributes () |
| Applies all global poly attributes before a rendering pass, using their correct transformation. | |
| virtual void | unapplyGlobalPolyAttributes () |
| Unapplies all global poly attribute after a rendering pass. | |
| virtual unsigned int | polyAttributes (const ID &category, SwitchType switchQuery=Engine::ALL) const |
| Returns the number of poly attributes in the poly attribute table (specified by category). | |
| virtual PolyAttribute * | getPolyAttribute (const ID &category, unsigned int i, SwitchType switchQuery=Engine::ALL) const |
| Returns the poly attribute at a given position. | |
| virtual int | containsPolyAttribute (PolyAttribute *attr, SwitchType switchQuery=Engine::ALL) const |
| Returns the index of a poly attribute. | |
| virtual unsigned int | findPolyAttribute (PolyAttribute *attr, SwitchType switchQuery=Engine::ALL) const |
| Returns the index of a poly attribute. | |
| virtual Iterator< SO < PolyAttribute > > * | newPolyAttributeIterator (const ID &category, SwitchType switchQuery=Engine::ON) const |
| Returns an iterator containing poly attributes with matching switch-setting. | |
| virtual bool | getSwitch (const ID &category, unsigned int index) const |
| Evaluates whether the poly attribute at a given index is switched on or off. | |
| virtual bool | getSwitch (PolyAttribute *) const |
| Evaluates whether the given poly attribute is switched on or off. | |
| void | disregard (const ID &category) |
| disregard attribute type for evaluation | |
| void | regard (const ID &category) |
| reactivate evaluation of attribute type | |
| bool | isRegarded (const ID &category) const |
| checks whether attribute evaluation of the type is enabled or not | |
| virtual void | pushShader (Shader *) |
| Pushes the active shader. | |
| virtual void | popShader () |
| Pops the active shader. | |
| virtual Shader * | getShader () const |
| Returns the currently active shader resp. the corresponding attribute. | |
| virtual MonoAttribute * | getShaderAttribute () const |
| Returns the attribute corresponding to the currently active shader. | |
| void | storeTransform (const Attribute *) |
| Stores the model-transformation-matrix of an attribute during the pre traversal. | |
| void | deleteTransform (const Attribute *) |
| Deletes the model-transformation-matrix of an attribute during the post traversal. | |
| void | setTransform (const SharedObj *, const Matrix &) |
| low-level set modelview-transformation of an object. | |
| void | eraseTransform (const SharedObj *) |
| low-level erase of the modelview-transformation of an object. | |
| Matrix | getTransform (const SharedObj *) const |
| low-level get modelview-transformation of an object. | |
| bool | containsTransform (const SharedObj *) const |
| low-level test modelview-transformation of an object. | |
| virtual void | pushHandler (const ID &service, const ID &target, Handler *hdl) |
| Pushes a handler. | |
| virtual void | popHandler (const ID &service, const ID &target) |
| Pops a handler, see pushHandler. | |
| virtual Iterator< SO < Technique > > * | getTechniques () const |
| Returns an iterator of all pushed techniques. | |
| const Stack< SO< MonoAttribute > > * | monoTable (const ID &category) const |
| Returns the internal reference to the mono attributes hashtable. | |
| const NonPersistentArray < PolyAttributeEntry > * | polyTable (const ID &category) const |
| Returns the internal reference to the poly attributes hashtable. | |
| const IDHashTable< Stack< SO < Handler > > > * | serviceTable (const ID &service) const |
| Returns the internal reference to the handlers hashtable. | |
| virtual void | initialize () |
| Overloaded methods may install here specific handlers etc. | |
| void | callInitializers () |
| Invokes all registered initializers, see addInitializer. | |
| Canvas * | getCanvas () const |
| Returns the canvas currently rendered to, may be NULL! | |
| void | pushCanvas (Canvas *canvas) |
| Sets the canvas currently rendered to, internal use only! (by Canvas). | |
| void | popCanvas () |
| Removes the last set rendering canvas. | |
Static Public Member Functions | |
| static bool | addInitializer (Callback1< Engine * > *init) |
| static bool | registerHandler (Handler *handler) |
| Registeres a handler. | |
| static void | addPreRenderCallback (SO< RenderCallback > cb) |
| static bool | removePreRenderCallback (SO< RenderCallback > cb) |
| static SO< Iterator< SO < RenderCallback > > > | preRenderCallbacks () |
| static void | addPostRenderCallback (SO< RenderCallback > cb) |
| static bool | removePostRenderCallback (SO< RenderCallback > cb) |
| static SO< Iterator< SO < RenderCallback > > > | postRenderCallbacks () |
Protected Member Functions | |
| virtual void | finalEval (const Shape *shape) |
| virtual bool | isFinalEvalDone () const |
| checks whether techniques and active shader are already set up. | |
Classes | |
| struct | PolyAttributeEntry |
| struct | ShaderStackEntry |
| typedef Callback1<SO<Engine> > VRS::Engine::RenderCallback |
The pre and post render callbacks are called before and after the evaluation of the scene graph.
| enum VRS::Engine::TFType |
| VRS::Engine::Engine | ( | ) |
| virtual VRS::Engine::~Engine | ( | ) | [virtual] |
| virtual void VRS::Engine::push | ( | MonoAttribute * | attr | ) | [virtual] |
Pushes a mono attribute and calls its painter, shader or simplifier.
The painter, shader, or simplifier for an mono attribute are called in every rendering pass (pre, main, and post traversal), if a matching handler is available at all.
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::push | ( | PolyAttribute * | attr | ) | [virtual] |
Pushes a poly attribute and calls its painter or simplifier, if available.
If the poly attribute is global, its painter or simplifier is called during the pre traversal pass. Local poly attributes are applied in the main rendering passes.
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::push | ( | Switch * | sw | ) | [virtual] |
Pushes a switch and (de)activates poly attributes accordingly.
For a category of PolyAttributes, the corresponding polyattributes can be switched on or of. Switches are not applied during pre traversal or post traversal. In main traversal, when a switch is pushed, the polyattributes that are affected by the switch are set to their new switch setting.
| virtual void VRS::Engine::push | ( | Handler * | hdl | ) | [virtual] |
| virtual void VRS::Engine::push | ( | Technique * | tech | ) | [virtual] |
Pushes a technique.
| virtual void VRS::Engine::pop | ( | MonoAttribute * | attr | ) | [virtual] |
Pops a mono attribute and calls its painter, shader or simplifier.
The painter, shader, or simplifier for an mono attribute are called in every rendering pass.
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::pop | ( | PolyAttribute * | attr | ) | [virtual] |
Pops a poly attribute and calls its painter or simplifier, if available.
If the poly attribute is global, its painter or simplifier is called after the post traversal (see removeGlobalPolyAttributes). Local poly attributes are applied in the main rendering passes.
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::pop | ( | Switch * | sw | ) | [virtual] |
Pops a switch, setting old poly attributes switch settings again.
When popping a switch, the former switch-settings of the poly attributes are restored.
| virtual void VRS::Engine::pop | ( | Handler * | hdl | ) | [virtual] |
| virtual void VRS::Engine::pop | ( | Technique * | tech | ) | [virtual] |
Pops a technique.
| virtual void VRS::Engine::eval | ( | const Shape * | shape | ) | [virtual] |
Evaluates a shape using the appropriate painter or simplifier. During the simplification process, also surface attributes and abstract rendering attributes may by pushed. When the shape is evaluated the first time by a painter or a simplifier for which isSimple() is true, techniques and shaders are considered once before further evaluation. After then, each recursive call to eval() is forwarded to finalEval(). At this stage, surface attributes and abstract rendering attributes should not anymore be pushed by simplifiers or painters anymore, since they would be ignored by techniques and shaders.
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::eval | ( | const MonoAttribute * | attr, | |
| bool | pushHint | |||
| ) | [virtual] |
looks for, and invokes painter, shader or simplifier for the attribute
| virtual void VRS::Engine::eval | ( | const PolyAttribute * | attr, | |
| unsigned int | index, | |||
| bool | pushHint | |||
| ) | [virtual] |
looks for, and invokes painter or simplifier for the attribute
| virtual bool VRS::Engine::isHandledByShader | ( | const MonoAttribute * | attr | ) | [virtual] |
Determines whether a mono attribute is evaluated with a shader.
If a specific shading or rendering technique which is restricted to a subscenegraph can not be implemented by a single attribute painter directly, it may be implemented by a multipass algorithm. This method checks for a suitable painter first and returns false if one exists. Otherwise, if a shader is available, it returns true. Then demandsShadingPass starts managing the multipass shading algorithm. The scenething invoking this method can now enter into a limited loop until the shader does not need any more shading passes and, therefore, demandsShadingPass returns false.
| virtual bool VRS::Engine::demandsShadingPass | ( | const MonoAttribute * | attr | ) | [virtual] |
Returns whether additional shading passes are needed, see isHandledByShader.
| unsigned int VRS::Engine::shadingPass | ( | ) | const [inline, virtual] |
Reports the actual pass of a multipass shading algorithm, see isHandledByShader.
| virtual void VRS::Engine::push | ( | Attribute * | attr | ) | [virtual] |
Dispatches the given attribute to the appropriate push-method (MonoAttrbite vs. PolyAttribute).
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::pop | ( | Attribute * | attr | ) | [virtual] |
Dispatches the given attribute to the appropriate pop-method (MonoAttrbite vs. PolyAttribute).
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::pop | ( | const ID & | id | ) | [virtual] |
Pops an attribute from the stack specified by its id.
In case of poly attributes, the attribute that was pushed at last is removed. -- Use this method with caution, the attributes do not not always apply to the stack one expects them to.
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::setProcessor | ( | TechniqueProcessor * | ) | [virtual] |
Sets the evaluation strategy used for scene graph evaluation.
| virtual TechniqueProcessor* VRS::Engine::getProcessor | ( | ) | const [virtual] |
Gets the evaluation strategy used for scene graph evaluation.
| VRS::Engine::VRS_SERIALIZABLE_CLASS_ENUM | ( | TFType | ) |
| virtual void VRS::Engine::pushTf | ( | TFType | category = Engine::modelviewMatrix |
) | [virtual] |
| virtual void VRS::Engine::popTf | ( | TFType | category = Engine::modelviewMatrix |
) | [virtual] |
| virtual void VRS::Engine::multTf | ( | const Matrix & | matrix, | |
| TFType | category = Engine::modelviewMatrix | |||
| ) | [virtual] |
Multiplies a given matrix on the current top matrix of the specified stack.
Reimplemented in VRS::EngineGL.
| virtual Matrix VRS::Engine::currentTfInv | ( | TFType | category = Engine::modelviewMatrix |
) | const [virtual] |
Returns the inverse of the current top matrix of the specified stack - uses caching!
| virtual Matrix VRS::Engine::orientationTf | ( | ) | const [virtual] |
Returns the orientation matrix.
| virtual Matrix VRS::Engine::orientationTfInv | ( | ) | const [virtual] |
Returns the inverted orientation matrix.
| virtual void VRS::Engine::setOrientationTf | ( | const Matrix & | matrix | ) | [virtual] |
| virtual void VRS::Engine::setOrientationTf | ( | ) | [virtual] |
Sets the orientation matrix.
| virtual Matrix VRS::Engine::currentNormalizedDeviceCoordsTf | ( | ) | const [virtual] |
| virtual Matrix VRS::Engine::currentPureProjectionTf | ( | ) | const [virtual] |
Reimplemented in VRS::EngineGL.
| virtual Matrix VRS::Engine::currentPureProjectionTfInv | ( | ) | const [virtual] |
Returns the current projection matrix excluding the ndcTf (convenience method using internal caching).
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::pushViewInfoFactory | ( | SO< ViewInfoFactory > | newViewInfoFactory | ) | [virtual] |
Sets the a new ViewInfoFactory.
Use this function if you have to change the culling behavior (e.g. in case you are using a vertex program implementing a non-standard projection)
| virtual void VRS::Engine::popViewInfoFactory | ( | ) | [virtual] |
removes the active CameraInfoFactory.
Returns the view info for the currently active transformations.
Use a view info for culling and screen size calculations. It implements suitable culling mechanism for standard primitives.
| virtual SO<CameraInfo> VRS::Engine::cameraInfo | ( | ) | const [virtual] |
Returns the camera info for the currently active transformations.
Reports a handler (in particular painters and simplifiers) specified by the service id and the target id of the handler.
Reports a handler (in particular painters and simplifiers) specified by the target id of the handler.
| virtual Simplifier* VRS::Engine::simplifier | ( | const ID & | target | ) | const [virtual] |
Reports explicitly a simplifier specified by the target id of the simplifier.
| virtual void VRS::Engine::pushMonoAttribute | ( | const ID & | category, | |
| MonoAttribute * | attr | |||
| ) | [virtual] |
Pushes a mono attribute to an explicitly specified stack (by category).
Mono attributes of one category are mutually exclusive, i.e. only the top attribute of the category's stack is considered to be active.
Reimplemented in VRS::EngineGL.
| virtual void VRS::Engine::popMonoAttribute | ( | const ID & | category | ) | [virtual] |
Pops a mono attribute from an explicitly specified stack (by category).
Reimplemented in VRS::EngineGL.
| virtual MonoAttribute* VRS::Engine::getMonoAttribute | ( | const ID & | category | ) | const [virtual] |
Returns the top mono attribute of an explicitly specified stack (by category).
Reimplemented in VRS::EngineGL.
| VRS::Engine::VRS_SERIALIZABLE_CLASS_ENUM | ( | SwitchType | ) |
For switch settings (ON / OFF) and for switch queries (ON / OFF / ALL).
ON is the setting for poly attributes that are switched on. Can be also used for queries.
OFF is the setting for poly attributes that are switched off. Can be also used for queries.
ALL is used to query of the position of polyattributes in the poly attribute table. This is the same as when adding ON and OFF results. Should be used when the index is used for direct access to that table.
| virtual unsigned int VRS::Engine::appendPolyAttribute | ( | const ID & | category, | |
| PolyAttribute * | attr, | |||
| SwitchType | switchSetting = Engine::ON | |||
| ) | [virtual] |
Appends the poly attribute to the poly attribute table (specified by category).
For a category, a number of poly attributes is considered to active simultaneously. Each poly attribute is given an index which can be used to to identify it, and which is the return value of the method.
| virtual void VRS::Engine::removePolyAttribute | ( | const ID & | category, | |
| PolyAttribute * | attr | |||
| ) | [virtual] |
Removes the last poly attribute in the poly attribute table.
| virtual void VRS::Engine::applyGlobalPolyAttributes | ( | ) | [virtual] |
Applies all global poly attributes before a rendering pass, using their correct transformation.
It is allowed to invoke this method more than once in a rendering pass, but only the first call will actually evaluate the global poly attributes.
| virtual void VRS::Engine::unapplyGlobalPolyAttributes | ( | ) | [virtual] |
Unapplies all global poly attribute after a rendering pass.
Each call of applyGlobalPolyAttributes() should be matched by a call of this method.
| virtual unsigned int VRS::Engine::polyAttributes | ( | const ID & | category, | |
| SwitchType | switchQuery = Engine::ALL | |||
| ) | const [virtual] |
Returns the number of poly attributes in the poly attribute table (specified by category).
When switchQuery is ALL, all poly attributes (both switched on and off) are counted. Else only the number of switched on resp. switched off poly attributes is returned.
| virtual PolyAttribute* VRS::Engine::getPolyAttribute | ( | const ID & | category, | |
| unsigned int | i, | |||
| SwitchType | switchQuery = Engine::ALL | |||
| ) | const [virtual] |
Returns the poly attribute at a given position.
Returns the poly attribute of the polyattribute table (specified by category) at a given position that have the matching switch setting. Asserts if there are fewer matching poly attributes than queried by the index.
| virtual int VRS::Engine::containsPolyAttribute | ( | PolyAttribute * | attr, | |
| SwitchType | switchQuery = Engine::ALL | |||
| ) | const [virtual] |
Returns the index of a poly attribute.
returns -1 if the poly attribute is not found in the polyattribute table
| virtual unsigned int VRS::Engine::findPolyAttribute | ( | PolyAttribute * | attr, | |
| SwitchType | switchQuery = Engine::ALL | |||
| ) | const [virtual] |
Returns the index of a poly attribute.
Asserts if the poly attribute is not found in the poly attribute table
| virtual Iterator<SO<PolyAttribute> >* VRS::Engine::newPolyAttributeIterator | ( | const ID & | category, | |
| SwitchType | switchQuery = Engine::ON | |||
| ) | const [virtual] |
Returns an iterator containing poly attributes with matching switch-setting.
The default query setting for this method is ON!
| virtual bool VRS::Engine::getSwitch | ( | const ID & | category, | |
| unsigned int | index | |||
| ) | const [virtual] |
Evaluates whether the poly attribute at a given index is switched on or off.
| virtual bool VRS::Engine::getSwitch | ( | PolyAttribute * | ) | const [virtual] |
Evaluates whether the given poly attribute is switched on or off.
| void VRS::Engine::disregard | ( | const ID & | category | ) |
disregard attribute type for evaluation
Attribute categories can be excluded from evaluation. This is mainly used by techniques that must ensure that in a certain rendering pass no changes of some type are done.
| void VRS::Engine::regard | ( | const ID & | category | ) |
reactivate evaluation of attribute type
| bool VRS::Engine::isRegarded | ( | const ID & | category | ) | const |
checks whether attribute evaluation of the type is enabled or not
| virtual void VRS::Engine::pushShader | ( | Shader * | ) | [virtual] |
Pushes the active shader.
This is only used for the DisableShadingPainter, and should not be called from an application.
| virtual void VRS::Engine::popShader | ( | ) | [virtual] |
Pops the active shader.
This is only used for the DisableShadingPainter, and should not be called from an application.
| virtual Shader* VRS::Engine::getShader | ( | ) | const [virtual] |
Returns the currently active shader resp. the corresponding attribute.
Asserts if internal stacks that store these data are empty. Do not call this methods from an application.
| virtual MonoAttribute* VRS::Engine::getShaderAttribute | ( | ) | const [virtual] |
Returns the attribute corresponding to the currently active shader.
Asserts if internal stacks that store these data are empty. Do not call this methods from an application.
| void VRS::Engine::storeTransform | ( | const Attribute * | ) |
Stores the model-transformation-matrix of an attribute during the pre traversal.
| void VRS::Engine::deleteTransform | ( | const Attribute * | ) |
Deletes the model-transformation-matrix of an attribute during the post traversal.
low-level set modelview-transformation of an object.
| void VRS::Engine::eraseTransform | ( | const SharedObj * | ) |
low-level erase of the modelview-transformation of an object.
low-level get modelview-transformation of an object.
| bool VRS::Engine::containsTransform | ( | const SharedObj * | ) | const |
low-level test modelview-transformation of an object.
| virtual void VRS::Engine::pushHandler | ( | const ID & | service, | |
| const ID & | target, | |||
| Handler * | hdl | |||
| ) | [virtual] |
Pushes a handler.
Handlers are two-fold distinguish: a handler provides a certain type of service (e.g., simplifier) and operates on a certain type of objects (e.g., spheres).
Pops a handler, see pushHandler.
Returns an iterator of all pushed techniques.
| const Stack< SO<MonoAttribute> >* VRS::Engine::monoTable | ( | const ID & | category | ) | const |
Returns the internal reference to the mono attributes hashtable.
Should not be called by an application.
| const NonPersistentArray<PolyAttributeEntry>* VRS::Engine::polyTable | ( | const ID & | category | ) | const |
Returns the internal reference to the poly attributes hashtable.
Should not be called by an application.
| const IDHashTable< Stack< SO<Handler> > >* VRS::Engine::serviceTable | ( | const ID & | service | ) | const |
Returns the internal reference to the handlers hashtable.
Should not be called by an application.
| virtual void VRS::Engine::initialize | ( | ) | [virtual] |
Adds an initialization function that is executed at the end of the constructor whenever a new engine is created. Use this function to register new handlers that are provided by add-ons. The return value is a dummy that makes it convenient to call this function from static initializers.
| void VRS::Engine::callInitializers | ( | ) |
Invokes all registered initializers, see addInitializer.
| Canvas* VRS::Engine::getCanvas | ( | ) | const |
Returns the canvas currently rendered to, may be NULL!
| void VRS::Engine::pushCanvas | ( | Canvas * | canvas | ) |
Sets the canvas currently rendered to, internal use only! (by Canvas).
| void VRS::Engine::popCanvas | ( | ) |
Removes the last set rendering canvas.
| static bool VRS::Engine::registerHandler | ( | Handler * | handler | ) | [static] |
| static void VRS::Engine::addPreRenderCallback | ( | SO< RenderCallback > | cb | ) | [static] |
| static bool VRS::Engine::removePreRenderCallback | ( | SO< RenderCallback > | cb | ) | [static] |
| static SO<Iterator<SO<RenderCallback> > > VRS::Engine::preRenderCallbacks | ( | ) | [static] |
| static void VRS::Engine::addPostRenderCallback | ( | SO< RenderCallback > | cb | ) | [static] |
| static bool VRS::Engine::removePostRenderCallback | ( | SO< RenderCallback > | cb | ) | [static] |
| static SO<Iterator<SO<RenderCallback> > > VRS::Engine::postRenderCallbacks | ( | ) | [static] |
| virtual void VRS::Engine::finalEval | ( | const Shape * | shape | ) | [protected, virtual] |
Evaluates the shapes after techniques and shaders have been set up, using the appropriate painter or simplifier.
| virtual bool VRS::Engine::isFinalEvalDone | ( | ) | const [protected, virtual] |
checks whether techniques and active shader are already set up.