Loading...
Searching...
No Matches
RelativeCoordinatePositionerBase::ComponentScope Class Reference

Used for resolving a RelativeCoordinate expression in the context of a component. More...

Inheritance diagram for RelativeCoordinatePositionerBase::ComponentScope:

Public Member Functions

 ComponentScope (Component &)
Expression getSymbolValue (const String &symbol) const override
 Returns the value of a symbol.
void visitRelativeScope (const String &scopeName, Visitor &) const override
 Creates a Scope object for a named scope, and then calls a visitor to do some kind of processing with this new scope.
String getScopeUID () const override
 Returns some kind of globally unique ID that identifies this scope.
Public Member Functions inherited from Expression::Scope
 Scope ()
virtual ~Scope ()
virtual double evaluateFunction (const String &functionName, const double *parameters, int numParameters) const
 Executes a named function.

Protected Member Functions

ComponentfindSiblingComponent (const String &componentID) const

Protected Attributes

Componentcomponent

Detailed Description

Used for resolving a RelativeCoordinate expression in the context of a component.

Constructor & Destructor Documentation

◆ ComponentScope()

RelativeCoordinatePositionerBase::ComponentScope::ComponentScope ( Component & )

References Component.

Member Function Documentation

◆ getSymbolValue()

Expression RelativeCoordinatePositionerBase::ComponentScope::getSymbolValue ( const String & symbol) const
overridevirtual

Returns the value of a symbol.

If the symbol is unknown, this can throw an Expression::EvaluationError exception. The member value is set to the part of the symbol that followed the dot, if there is one, e.g. for "foo.bar", symbol = "foo" and member = "bar".

Exceptions
Expression::EvaluationError

Reimplemented from Expression::Scope.

◆ visitRelativeScope()

void RelativeCoordinatePositionerBase::ComponentScope::visitRelativeScope ( const String & scopeName,
Visitor & visitor ) const
overridevirtual

Creates a Scope object for a named scope, and then calls a visitor to do some kind of processing with this new scope.

If the name is valid, this method must create a suitable (temporary) Scope object to represent it, and must call the Visitor::visit() method with this new scope.

Reimplemented from Expression::Scope.

◆ getScopeUID()

String RelativeCoordinatePositionerBase::ComponentScope::getScopeUID ( ) const
overridevirtual

Returns some kind of globally unique ID that identifies this scope.

Reimplemented from Expression::Scope.

◆ findSiblingComponent()

Component * RelativeCoordinatePositionerBase::ComponentScope::findSiblingComponent ( const String & componentID) const
protected

References Component.

Member Data Documentation

◆ component

Component& RelativeCoordinatePositionerBase::ComponentScope::component
protected
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram