App::NumberExpression Class Reference

Class implementing a number with an optional unit. More...

#include <ExpressionParser.h>

Public Member Functions

bool isInteger (long *v=nullptr) const
 
void negate ()
 Negate the stored value. More...
 
 NumberExpression (const App::DocumentObject *_owner=nullptr, const Base::Quantity &quantity=Base::Quantity())
 
virtual Expressionsimplify () const override
 Simplify the expression. More...
 
- Public Member Functions inherited from App::UnitExpression
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...
 

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)
 
- Protected Attributes inherited from App::UnitExpression
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...
 

Detailed Description

Class implementing a number with an optional unit.

Constructor & Destructor Documentation

◆ NumberExpression()

NumberExpression::NumberExpression ( const App::DocumentObject _owner = nullptr,
const Base::Quantity quantity = Base::Quantity() 
)

Member Function Documentation

◆ isInteger()

bool NumberExpression::isInteger ( long *  v = nullptr) const

◆ negate()

void NumberExpression::negate ( )

Negate the stored value.

◆ simplify()

Expression * NumberExpression::simplify ( ) const
overridevirtual

Simplify the expression.

For NumberExpressions, we return a copy(), as it cannot be simplified any more.

Reimplemented from App::UnitExpression.

References App::Expression::copy().


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