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

#include "expressionparam.h"

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

Public Member Functions

virtual const ITypefindReference (bool recache=false) const
 Searches the tree for the associated reference. More...
 
virtual SERIALID getSerialID () const
 Gets the serialization ID of the object. More...
 
virtual std::string getTypeName () const
 Displayable name of the IType. More...
 
virtual const std::string toString () const
 Gets the string representation of a parameter type. More...
 
- Public Member Functions inherited from HGL::Type::ReferenceParam
virtual operator float () const throw (Exception::InvalidExpressionException, Exception::ReferenceException)
 Converts the type into a float More...
 
- Public Member Functions inherited from HGL::Type::ReferenceHolderBase
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 void detachType (IType *type)
 Detaches a child from the IType. More...
 
virtual IType::iterator end ()
 Gets the iterator to the end over this type's attached types. More...
 
virtual const TYPELISTgetAttachedTypes () const
 Returns all attached IType instances. 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...
 
- Public Member Functions inherited from HGL::Type::ParamBase
virtual HGL::IType::BOUNDINGBOX getBoundingBox () const
 Gets the bounding box of the type. More...
 
virtual bool operator== (const IParam &) const
 Checks equality of parameter types. More...
 

Additional Inherited Members

- Public Types inherited from HGL::IType
enum  SERIALID { ,
  NOTSERIALIZEABLE = -1,
  SASSIGNMENTOPERATOR,
  SDEBUGPROCEDURE,
  SELLIPSE,
  SEXPRESSIONPARAM,
  SFILL,
  SFLOATPARAM,
  SLINE,
  SMAINSEGMENT,
  SNAMEDPARAM,
  SOBJECTSSEGMENT,
  SPARAMSECTION,
  SPOINT,
  SPOLY,
  SPROCCALL,
  SPROCEDURE,
  SPROCEDURESSEGMENT,
  SPROCINITSTATEMENT,
  SPROJECT,
  SREFERENCEPARAM,
  SRENDERPROCEDURE,
  SSTDLIBCALL,
  SSTRINGPARAM,
  STEXT,
  SVECTOR2D,
  SRENDERCALLBACK,
  SSRENDERCALLBACK,
  SVIRTUALGROUP,
  SCOMMENT,
  SCURVE,
  SSIGNATURE,
  SINCLUDE
}
 Enum of the serializeable objects. More...
 
typedef std::deque< uint8_t > BUFFER
 Buffer of the serialized data.
 
typedef std::list< PtrTYPELIST
 List of attached IType instances.
 
- Public Types inherited from HGL::Type::IParam
enum  OP {
  NOP,
  ADD,
  SUB,
  MUL,
  DIV,
  POW,
  SIN,
  COS,
  NEG,
  DAO
}
 The types of operations available for expressions. More...
 
- Protected Member Functions inherited from HGL::Type::TypeBase
virtual ITypeattachType (IType *type, const TYPELIST::iterator &before, bool check=true) throw (Exception::AttachException)
 Attaches a child at the position before. More...
 
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 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

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

Member Function Documentation

const HGL::IType * ExpressionParam::findReference ( bool  recache = false) const
virtual

Searches the tree for the associated reference.

Note
To check if a reference was actually found use IType::isNull
See Also
IType::isNull
Returns
an IType to a reference or the special NullType if not found

If the reference itself is a ReferenceParam, it will tried to get resolved too.

Reimplemented from HGL::Type::ReferenceParam.

References HGL::Type::ReferenceHolderBase::findReference(), HGL::Type::ReferenceParam::findReference(), HGL::Type::TypeBase::getAttachedTypes(), and HGL::Type::ReferenceHolderBase::getReference().

HGL::IType::SERIALID ExpressionParam::getSerialID ( ) const
virtual

Gets the serialization ID of the object.

Returns
the serialization ID of the object

Reimplemented from HGL::Type::ReferenceParam.

References HGL::IType::SEXPRESSIONPARAM.

std::string ExpressionParam::getTypeName ( ) const
virtual
const std::string ExpressionParam::toString ( ) const
virtual

Gets the string representation of a parameter type.

Returns
the string representation of a parameter type

Reimplemented from HGL::Type::ReferenceParam.