|
AuboStudio SDK
0.6.3
|
|
|
|
|
This interface provides support for generating Script code. 更多...
#include <script_writer.h>
Public 成员函数 | |
| ScriptWriter (ScriptWriter &f) | |
| ScriptWriter (ScriptWriter &&f) | |
| virtual | ~ScriptWriter () |
| void | setLabel (int lineno, const std::string &comment) |
| void | appendLine (const std::string &script_line) |
| Adds a single line of script code using auto-indentation. | |
| void | appendVectorDouble (const std::vector< double > &value) |
| void | appendRaw (const std::string &script) |
| Adds script code appending the script code as is without using auto-indentation. | |
| std::string | generateScript () |
| Generate a string with the full script code. | |
| void | writeChildren () |
| void | assign (VariablePtr variable, const std::string &expression, bool sync=false) |
| void | assign (const std::string &variableName, const ExpressionPtr &expression, bool sync=false) |
| void | assign (VariablePtr variable, const ExpressionPtr &expression, bool sync=false) |
| void | incrementVariable (const std::string &variable_name) |
| Add 1 to the variable value. | |
| void | note (const std::string &expression) |
| Add a note. | |
| void | sleep (double seconds) |
| Sleep for a number of seconds. | |
| void | sync () |
| Uses up the remaining "physical" time a thread has in the current frame. | |
| void | defineFunction (const std::string &func_name) |
| void | anonyFunction (const std::string &func_name) |
| void | setRobotIndex (int robot_index) |
| void | returnMethod () |
| Return from method. | |
| void | end () |
| Insert an end. | |
| void | lineFeed () |
| Insert an empty line. | |
| void | setPayload (double mass, double x, double y, double z) |
| void | setTcp (const std::vector< double > &pose) |
| void | ifCondition (const ExpressionPtr &expression) |
| Start an if-conditional. | |
| void | ifNotCondition (const ExpressionPtr &expression) |
| Start a negated if-conditional | |
| void | elseIfCondition (const ExpressionPtr &expression) |
| Adds an else-if branch. | |
| void | elseCondition () |
| Adds an else branch. | |
| void | forCondition (int count, int step) |
| Starts a for-loop with tow loop invariants. | |
| void | whileTrue () |
| Starts a while true loop. | |
| void | whileCondition (const ExpressionPtr &expression) |
| Starts a while-loop with a loop invariant. | |
| void | whileNot (const ExpressionPtr &expression) |
| Starts a while-loop with a negated loop invariant. | |
| void | defineThread (const std::string &thread_name, bool loop_or_not) |
| Start a thread definition with a given thread name. | |
| void | runThread (const std::string &thread_name) |
| Start a previously defined thread. | |
| void | killThread (const std::string &thread_name) |
| killThread | |
| std::string | getResolvedVariable (const std::string &variable_name) |
| void | increaseIndent () |
| void | decreaseIndent () |
Private 成员函数 | |
| ScriptWriter () | |
Private 属性 | |
| void * | d_ { nullptr } |
友元 | |
| class | DataSwitch |
This interface provides support for generating Script code.
在文件 script_writer.h 第 16 行定义.
| arcs::aubo_scope::ScriptWriter::ScriptWriter | ( | ScriptWriter & | f | ) |
| arcs::aubo_scope::ScriptWriter::ScriptWriter | ( | ScriptWriter && | f | ) |
|
virtual |
|
private |
| void arcs::aubo_scope::ScriptWriter::anonyFunction | ( | const std::string & | func_name | ) |
| void arcs::aubo_scope::ScriptWriter::appendLine | ( | const std::string & | script_line | ) |
Adds a single line of script code using auto-indentation.
| script_line | single line of script code to append. |
| void arcs::aubo_scope::ScriptWriter::appendRaw | ( | const std::string & | script | ) |
Adds script code appending the script code as is without using auto-indentation.
| script | script code to append. |
| void arcs::aubo_scope::ScriptWriter::appendVectorDouble | ( | const std::vector< double > & | value | ) |
| void arcs::aubo_scope::ScriptWriter::assign | ( | const std::string & | variableName, |
| const ExpressionPtr & | expression, | ||
| bool | sync = false ) |
| void arcs::aubo_scope::ScriptWriter::assign | ( | VariablePtr | variable, |
| const ExpressionPtr & | expression, | ||
| bool | sync = false ) |
| void arcs::aubo_scope::ScriptWriter::assign | ( | VariablePtr | variable, |
| const std::string & | expression, | ||
| bool | sync = false ) |
| void arcs::aubo_scope::ScriptWriter::decreaseIndent | ( | ) |
| void arcs::aubo_scope::ScriptWriter::defineFunction | ( | const std::string & | func_name | ) |
| name | Define a function of name name. |
| void arcs::aubo_scope::ScriptWriter::defineThread | ( | const std::string & | thread_name, |
| bool | loop_or_not ) |
Start a thread definition with a given thread name.
| threadName | the name of the new thread. |
| loop_or_not | the new thread loops or not. |
| void arcs::aubo_scope::ScriptWriter::elseCondition | ( | ) |
Adds an else branch.
| void arcs::aubo_scope::ScriptWriter::elseIfCondition | ( | const ExpressionPtr & | expression | ) |
Adds an else-if branch.
| expression | the expression of the "else-if"-sentence. |
| void arcs::aubo_scope::ScriptWriter::end | ( | ) |
Insert an end.
| void arcs::aubo_scope::ScriptWriter::forCondition | ( | int | count, |
| int | step ) |
Starts a for-loop with tow loop invariants.
| count | the loop counts. |
| step | the loop step. |
| std::string arcs::aubo_scope::ScriptWriter::generateScript | ( | ) |
Generate a string with the full script code.
| std::string arcs::aubo_scope::ScriptWriter::getResolvedVariable | ( | const std::string & | variable_name | ) |
Returns a registered variable name that can be used in a script.
A variable is registered if it has been stored in a DataModel instance or used for the configuration of a built-in AuboScope program node.
Please note: The name of a variable in the script can be different from the value of Variable#getDisplayName(). You should not use the value of Variable#getDisplayName() in a script.
| variable | a registered Variable. Not null. |
| IllegalArgumentException | if the variable was not registered in the data model or used for the configuration of a built-in AuboScope program node. |
| ClassCastException | if the variable was not created by domain/variable/VariableFactory. |
| void arcs::aubo_scope::ScriptWriter::ifCondition | ( | const ExpressionPtr & | expression | ) |
Start an if-conditional.
| expression | the expression of the if-sentence. Not null. |
| void arcs::aubo_scope::ScriptWriter::ifNotCondition | ( | const ExpressionPtr & | expression | ) |
Start a negated if-conditional
| expression | the expression of the negated if-sentence. |
| void arcs::aubo_scope::ScriptWriter::increaseIndent | ( | ) |
| void arcs::aubo_scope::ScriptWriter::incrementVariable | ( | const std::string & | variable_name | ) |
Add 1 to the variable value.
| variable | the variable to increment. Not null. |
| void arcs::aubo_scope::ScriptWriter::killThread | ( | const std::string & | thread_name | ) |
killThread
| thread_name |
| void arcs::aubo_scope::ScriptWriter::lineFeed | ( | ) |
Insert an empty line.
| void arcs::aubo_scope::ScriptWriter::note | ( | const std::string & | expression | ) |
Add a note.
| expression | the note expression. |
| void arcs::aubo_scope::ScriptWriter::returnMethod | ( | ) |
Return from method.
| void arcs::aubo_scope::ScriptWriter::runThread | ( | const std::string & | thread_name | ) |
Start a previously defined thread.
| threadName | The name of the thread that will be started. |
| void arcs::aubo_scope::ScriptWriter::setLabel | ( | int | lineno, |
| const std::string & | comment ) |
| void arcs::aubo_scope::ScriptWriter::setPayload | ( | double | mass, |
| double | x, | ||
| double | y, | ||
| double | z ) |
Sets the mass and Center of Gravity (CoG) of the payload.
This function must be called, when the payload weight or weigh distribution changes significantly, i.e when the robot arm picks up or puts down a heavy workpiece.
| payloadMass | in kilograms |
| centerOfGravityX | displacement from the tool-mount in meters. |
| centerOfGravityY | displacement from the tool-mount in meters. |
| centerOfGravityZ | displacement from the tool-mount in meters. |
| void arcs::aubo_scope::ScriptWriter::setRobotIndex | ( | int | robot_index | ) |
| void arcs::aubo_scope::ScriptWriter::setTcp | ( | const std::vector< double > & | pose | ) |
| void arcs::aubo_scope::ScriptWriter::sleep | ( | double | seconds | ) |
Sleep for a number of seconds.
| seconds | amount of time to sleep in seconds. |
| void arcs::aubo_scope::ScriptWriter::sync | ( | ) |
| void arcs::aubo_scope::ScriptWriter::whileCondition | ( | const ExpressionPtr & | expression | ) |
Starts a while-loop with a loop invariant.
| expression | the loop invariant. |
| void arcs::aubo_scope::ScriptWriter::whileNot | ( | const ExpressionPtr & | expression | ) |
Starts a while-loop with a negated loop invariant.
| expression | the loop invariant that will be negated. |
| void arcs::aubo_scope::ScriptWriter::whileTrue | ( | ) |
Starts a while true loop.
| void arcs::aubo_scope::ScriptWriter::writeChildren | ( | ) |
Use this method when generating script code for a node that has children nodes.globalVariable
A simple example:
writer.ifCondition(expression)
writer.writeChildren() // let children nodes generate code.
writer.end()
@endcode
In most cases you prglobalVariableobably only want to call ScriptWriter#writeChildren() once, but it is possible to call it multiple times and thus have children nodes generate their code multiple times.
|
friend |
|
private |
在文件 script_writer.h 第 284 行定义.