10.1.8.1. Calculator

class Patro.Pattern.Calculator.Calculator(measurements)[source]

Bases: object

Class to implement a calculator for expressions

__init__(measurements)[source]

Initialize self. See help(type(self)) for accurate signature.

_function_Angle1Spl(point_name1, point_name2)[source]
_function_Angle2Spl(point_name1, point_name2)[source]
_function_AngleLine(point_name1, point_name2)[source]
_function_C1LengthSpl(point_name1, point_name2)[source]
_function_C2LengthSpl(point_name1, point_name2)[source]
_function_CurrentLength()[source]
_function_Line(point_name1, point_name2)[source]
_function_Spl(point_name1, point_name2)[source]
_logger = <Logger Patro.Pattern.Calculator.Calculator (WARNING)>
_name_to_point(name)[source]
_name_to_vector_point(name)[source]
_names_to_vector_points(*names)[source]
add_point(point)[source]
cache
dag
measurements
set_current_segment(vector)[source]
unset_current_segment()[source]
class Patro.Pattern.Calculator.Expression(expression, calculator=None)[source]

Bases: object

Class to define an expression.

__init__(expression, calculator=None)[source]

Initialize self. See help(type(self)) for accurate signature.

__str__()[source]

Return str(self).

_compile()[source]
_find_identifier(prefix, start=0)[source]

Find an identifier in a Python expression

_logger = <Logger Patro.Pattern.Calculator.Expression (WARNING)>
dependencies
eval()[source]
expression
is_float()[source]
set_dirty()[source]
value

Eval on the fly and return the value

class Patro.Pattern.Calculator.NamedExpression(name, expression, calculator=None)[source]

Bases: Patro.Pattern.Calculator.Expression

Class for Expression with a name

__init__(name, expression, calculator=None)[source]

Initialize self. See help(type(self)) for accurate signature.

name
class Patro.Pattern.Calculator.NodeVisitor(calculator)[source]

Bases: ast.NodeVisitor

Class to implement a AST node visitor to register dependencies.

__init__(calculator)[source]

Initialize self. See help(type(self)) for accurate signature.

dependencies
visit_Call(node)[source]