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
 
App::DocumentObjectowner
 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.

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

◆ simplify()

Expression * UnitExpression::simplify ( ) const
overridevirtual

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
mutableprotected

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