App::UnitExpression Class Reference

Part of an expressions that contains a unit. More...

#include <ExpressionParser.h>

Public Member Functions

const Base::QuantitygetQuantity () const
double getScaler () const
const Base::UnitgetUnit () const
const std::string getUnitString () const
double getValue () const
void setQuantity (const Base::Quantity &_quantity)
void setUnit (const Base::Quantity &_quantity)
 Set unit information. More...
virtual Expressionsimplify () const override
 Simplify the expression. More...
 UnitExpression (const App::DocumentObject *_owner=nullptr, const Base::Quantity &_quantity=Base::Quantity(), const std::string &_unitStr=std::string())
 ~UnitExpression ()
- Public Member Functions inherited from App::Expression
virtual void addComponent (Component *component)
bool adjustLinks (const std::set< App::DocumentObject * > &inList)
Expressioncopy () const
Expressioneval () const
 Expression (const App::DocumentObject *_owner)
void getDepObjects (std::map< App::DocumentObject *, bool > &, std::vector< std::string > *labels=nullptr) const
std::map< App::DocumentObject *, boolgetDepObjects (std::vector< std::string > *labels=nullptr) const
void getDeps (ExpressionDeps &deps, int option=DepNormal) const
ExpressionDeps getDeps (int option=DepNormal) const
std::map< App::ObjectIdentifier, boolgetIdentifiers () const
void getIdentifiers (std::map< App::ObjectIdentifier, bool > &) const
App::DocumentObjectgetOwner () const
Py::Object getPyValue () const
boost::any getValueAsAny () const
bool hasComponent () const
ExpressionPtr importSubNames (const std::map< std::string, std::string > &nameMap) const
bool isSame (const Expression &other, bool checkComment=true) const
virtual bool isTouched () const
virtual int priority () const
ExpressionPtr replaceObject (const App::DocumentObject *parent, App::DocumentObject *oldObj, App::DocumentObject *newObj) const
virtual Expressionsimplify () const =0
std::string toString (bool persistent=false, bool checkPriority=false, int indent=0) const
void toString (std::ostream &os, bool persistent=false, bool checkPriority=false, int indent=0) const
ExpressionPtr updateLabelReference (App::DocumentObject *obj, const std::string &ref, const char *newLabel) const
void visit (ExpressionVisitor &v)
virtual ~Expression ()
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction. More...
 BaseClass (const BaseClass &)=default
virtual PyObjectgetPyObject ()
 This method returns the Python wrapper for a C++ object. More...
virtual Type getTypeId () const
bool isDerivedFrom (const Type type) const
BaseClassoperator= (const BaseClass &)=default
virtual void setPyObject (PyObject *)
virtual ~BaseClass ()
 Destruction. More...

Protected Attributes

PyObjectcache = nullptr
- Protected Attributes inherited from App::Expression
ComponentList components
 The document object used to access unqualified variables (i.e local scope) More...

Additional Inherited Members

- Public Types inherited from App::Expression
typedef std::vector< Component * > ComponentList
enum  DepOption { DepNormal , DepHidden , DepAll }
- Static Public Member Functions inherited from App::Expression
static ComponentcreateComponent (const std::string &n)
static ComponentcreateComponent (Expression *e1, Expression *e2=nullptr, Expression *e3=nullptr, bool isRange=false)
static Expressionparse (const App::DocumentObject *owner, const std::string &buffer)
- Static Public Member Functions inherited from Base::BaseClass
static void * create ()
static Type getClassTypeId ()
static void init ()
- Public Attributes inherited from App::Expression
std::string comment
friend ExpressionVisitor
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr)

Detailed Description

Part of an expressions that contains a unit.

Constructor & Destructor Documentation

◆ UnitExpression()

UnitExpression::UnitExpression ( const App::DocumentObject _owner = nullptr,
const Base::Quantity _quantity = Base::Quantity(),
const std::string &  _unitStr = std::string() 

◆ ~UnitExpression()

UnitExpression::~UnitExpression ( )

Member Function Documentation

◆ getQuantity()

const Base::Quantity & App::UnitExpression::getQuantity ( ) const

◆ getScaler()

double App::UnitExpression::getScaler ( ) const

◆ getUnit()

const Base::Unit & App::UnitExpression::getUnit ( ) const

◆ getUnitString()

const std::string App::UnitExpression::getUnitString ( ) const

◆ getValue()

◆ setQuantity()

void UnitExpression::setQuantity ( const Base::Quantity _quantity)

◆ setUnit()

void UnitExpression::setUnit ( const Base::Quantity _quantity)

Set unit information.

_unitA unit object
_unitstrThe unit expressed as a string
_scalerScale factor to convert unit into internal unit.

◆ simplify()

Expression * UnitExpression::simplify ( ) const

Simplify the expression.

In this case, a NumberExpression is returned, as it cannot be simplified any more.

Implements App::Expression.

Reimplemented in App::NumberExpression, App::OperatorExpression, App::FunctionExpression, and App::VariableExpression.

References App::Expression::owner.

Member Data Documentation

◆ cache

PyObject* App::UnitExpression::cache = nullptr

The documentation for this class was generated from the following files: