hgl 0.5.25
A compiler/interpreter suite for developing images
Public Member Functions | Protected Member Functions | List of all members
HGL::Type::RenderCallback Class Reference

A render callback type. More...

#include "rendercallback.h"

Inheritance diagram for HGL::Type::RenderCallback:
[legend]

Public Member Functions

void detachType (IType *type)
 Detaches a child from the IType. More...
 
virtual const TYPELISTgetAttachedTypes () const
 Returns all attached IType instances. More...
 
- Public Member Functions inherited from HGL::Type::ReferenceHolderBase
virtual const ITypefindReference (bool recache=false) const
 Searches the tree for the associated reference. More...
 
virtual const std::string * getReference () const
 Gets the reference. More...
 
virtual bool isValid () const
 Checks if the type is valid. More...
 
virtual void setReference (const std::string &ref, bool fromStdLib=false)
 Sets the reference. More...
 
Reference access and manipulation
- Public Member Functions inherited from HGL::IType
virtual operator iterator ()=0
 Gets the iterator over this type's attached types. More...
 
- Public Member Functions inherited from HGL::Type::TypeBase
ITypeattachType (IType *type, bool check=true) throw (Exception::AttachException)
 Attach child objects to the IType at end of list. More...
 
virtual IType::iterator begin ()
 Gets the iterator to the begin over this type's attached types. More...
 
virtual IType::iterator end ()
 Gets the iterator to the end over this type's attached types. More...
 
virtual BOUNDINGBOX getBoundingBox () const
 Gets the bounding box of the type. More...
 
virtual const std::string & getId () const
 Gets the identifier. More...
 
virtual ITypegetParent () const
 Returns the parent IType. More...
 
virtual bool isNull () const
 Checks if the type is null type. More...
 
virtual void setDescription (const std::string &desc)
 Sets the description of the type. More...
 
virtual void setId (const std::string &id)
 Sets the identifier. More...
 

Protected Member Functions

 RenderCallback (const std::string &ref, IType *lib=0L)
 Constructur More...
 
virtual ITypeattachType (IType *type, const TYPELIST::iterator &before, bool check) throw (Exception::AttachException)
 Attaches a child at the position before. More...
 
virtual SERIALID getSerialID () const
 Gets the SerialID of HGL::IType::SRENDERCALLBACK More...
 
- Protected Member Functions inherited from HGL::Type::TypeBase
virtual IType::Ptr clone () const throw (Exception::CloneNotSupportedException)
 Creates a clone of the type. More...
 
virtual const std::string & getDescription () const
 Gets the description of the type. More...
 
virtual const ITypegetRoot (const IType &type) const
 Get the root of a type. More...
 
virtual std::string getTypeName () const
 Displayable name of the IType. More...
 
virtual operator float () const throw (Exception::ReferenceException, Exception::InvalidExpressionException)
 Converts the type into a float More...
 
virtual ITyperesolve (const std::string &id) const
 Resolves a type by its ID. More...
 
virtual void setParent (IType *parent)
 Set parent of the type. More...
 

Detailed Description

A render callback type.

Author
Heiko Schäfer heiko.nosp@m.@hgl.nosp@m..rang.nosp@m.un.d.nosp@m.e

This type can get attached to a RenderProcedure to give feedback about the progess of rendering. It contains two virtually attached FloatParam indicating the current line and the maximum number of lines.

A callback can be defined as following in the ProceduresSegment:

* proc percentageProgress "Displays the current percentage of rendering, to use as callback" {
* [ rline rmax ] {}
*
* debug("" + ((#rline * 100) / #rmax));
* }
*

Constructor & Destructor Documentation

RenderCallback::RenderCallback ( const std::string &  ref,
IType lib = 0L 
)
explicitprotected

Constructur

Parameters
refa reference to the render callback procedure
libthe scope to search the render callback procedure

Member Function Documentation

HGL::IType * RenderCallback::attachType ( IType type,
const TYPELIST::iterator &  before,
bool  check 
)
throw (Exception::AttachException
)
protectedvirtual

Attaches a child at the position before.

If the attached type is a FloatParam it gets interpreted as the the current line if attached first and as the total amount of lines if attached second. It updates the parent of the attached type to this type as well.

Parameters
typethe IType to attach as child
beforethe type will be attached before the type referenced by before
checktrue (default), if validity checks should be performed
typethe IType to attach as child
checktrue (default), if validity checks should be performed
Exceptions
Exception::AttachExceptionif a disallowed type gets attached. See Types for more.
Returns
the attached type

Reimplemented from HGL::Type::TypeBase.

References HGL::Type::TypeBase::attachType().

void RenderCallback::detachType ( IType type)
virtual

Detaches a child from the IType.

Parameters
typethe IType to detach
Since
0.5.21

Reimplemented from HGL::Type::TypeBase.

const HGL::IType::TYPELIST & RenderCallback::getAttachedTypes ( ) const
virtual

Returns all attached IType instances.

Actually it returns two FloatParam. The first indicating the currently processed line and the second the maximum amount of lines.

Returns
all attached IType instances

Reimplemented from HGL::Type::TypeBase.

References HGL::Type::TypeBase::getAttachedTypes().

HGL::IType::SERIALID RenderCallback::getSerialID ( ) const
protectedvirtual