modified: examples/BasicMoves/BasicMoves.ino

new file:   hippie_blocks.js
	new file:   img/blocks/hippie.svg
	new file:   img/blocks/hippie_RL.svg
	new file:   img/blocks/hippie_RR.svg
	new file:   img/blocks/hippie_YL.svg
	new file:   img/blocks/hippie_YR.svg
	new file:   lang/HIPPIE.json
	modified:   src/Hippie.cpp
	modified:   src/Hippie.h
This commit is contained in:
roboticafacil 2017-12-12 22:28:27 +01:00
parent 651025f826
commit 2a505a3bb5
10 changed files with 713 additions and 6 deletions

View File

@ -28,7 +28,7 @@ void loop()
delay(500);
// backward, shit piece
hippie.new_walk(2, 4, 750);
hippie.new_walk(4, 750, 2);
hippie.home();
delay(500);
@ -38,7 +38,7 @@ void loop()
delay(500);
// right
hippie.new_turn(2);
hippie.new_turn(2,1000,2);
hippie.home();
delay(500);

245
hippie_blocks.js Normal file
View File

@ -0,0 +1,245 @@
Facilino.LANG_COLOUR_MOVEMENT = '#CECE42';
Facilino.LANG_COLOUR_MOVEMENT_WALK = '#8D8D25';
Blockly.Blocks['HIPPIE_init'] = {
category: Facilino.locales.getKey('LANG_CATEGORY_MOVEMENT'),
subcategory: Facilino.locales.getKey('LANG_SUBCATEGORY_WALK'),
category_colour: Facilino.LANG_COLOUR_MOVEMENT,
colour: Facilino.LANG_COLOUR_MOVEMENT_WALK,
helpUrl: Facilino.getHelpUrl('HIPPIE_init'),
tags: [],
examples: [],
init: function () {
this.appendDummyInput('').appendField(new Blockly.FieldImage('img/blocks/hippie.svg', 32*options.zoom, 32*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_ROBOT'));
this.appendValueInput('YR').appendField(new Blockly.FieldImage('img/blocks/hippie_YR.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_YR')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
this.appendValueInput('YL').appendField(new Blockly.FieldImage('img/blocks/hippie_YL.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_YL')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
this.appendValueInput('RR').appendField(new Blockly.FieldImage('img/blocks/hippie_RR.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_RR')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
this.appendValueInput('RL').appendField(new Blockly.FieldImage('img/blocks/hippie_RL.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_RL')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
this.setPreviousStatement(true,'code');
this.setNextStatement(true,'code');
this.setColour(Facilino.LANG_COLOUR_MOVEMENT_WALK);
this.setTooltip(Facilino.locales.getKey('LANG_HIPPIE_INIT_TOOLTIP'));
}
};
Blockly.Arduino['HIPPIE_init'] = function(block) {
var code='';
var input_YR = Blockly.Arduino.valueToCode(this,'YR',Blockly.Arduino.ORDER_ATOMIC) || '26';
var input_YL = Blockly.Arduino.valueToCode(this,'YL',Blockly.Arduino.ORDER_ATOMIC) || '25';
var input_RR = Blockly.Arduino.valueToCode(this,'RR',Blockly.Arduino.ORDER_ATOMIC) || '17';
var input_RL = Blockly.Arduino.valueToCode(this,'RL',Blockly.Arduino.ORDER_ATOMIC) || '16';
Blockly.Arduino.definitions_['define_hippie_h'] = '#include <Hippie.h>';
Blockly.Arduino.definitions_['declare_var_define_hippie']='Hippie hippie;\n';
Blockly.Arduino.setups_['setup_hippie_init'] = 'hippie.init('+input_YR+','+input_YL+','+input_RR+','+input_RL+');\n';
return code;
};
Blockly.Arduino['HIPPIE_movement'] = function() {
var code='';
var movement = this.getFieldValue('MOVEMENT');
if (movement==='0')
code+='hippie.home();\n';
else if (movement==='1')
code+='hippie.jump('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '600')+');\n';
else if (movement==='2')
code+='hippie.walk('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '4')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+this.getFieldValue('FIELD3')+');\n';
else if (movement==='3')
code+='hippie.turn('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '4')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+this.getFieldValue('FIELD3')+');\n';
else if (movement==='4')
code+='hippie.bend('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1400')+','+this.getFieldValue('FIELD3')+');\n';
else if (movement==='5')
code+='hippie.shakeLeg('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '2000')+','+this.getFieldValue('FIELD3')+');\n';
else if (movement==='6')
code+='hippie.updown('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
else if (movement==='7')
code+='hippie.swing('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
else if (movement==='8')
code+='hippie.tiptoeSwing('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
else if (movement==='9')
code+='hippie.jitter('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '500')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '50')+');\n';
else if (movement==='10')
code+='hippie.ascendingTurn('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '50')+');\n';
else if (movement==='11')
code+='hippie.moonwalker('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '50')+','+this.getFieldValue('FIELD3')+');\n';
else if (movement==='12')
code+='hippie.crusaito('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '20')+','+this.getFieldValue('FIELD3')+');\n';
else if (movement==='13')
code+='hippie.flapping('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '50')+','+this.getFieldValue('FIELD3')+');\n';
return code;
}
Blockly.Blocks['HIPPIE_movement'] = {
category: Facilino.locales.getKey('LANG_CATEGORY_MOVEMENT'),
subcategory: Facilino.locales.getKey('LANG_SUBCATEGORY_WALK'),
tags: [],
helpUrl: Facilino.getHelpUrl('LARS_movement'),
examples: [],
category_colour: Facilino.LANG_COLOUR_MOVEMENT,
colour: Facilino.LANG_COLOUR_MOVEMENT_WALK,
init: function() {
this.setColour(Facilino.LANG_COLOUR_MOVEMENT_WALK);
var movement = new Blockly.FieldDropdown([
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HOME'),'0'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_JUMP'),'1'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_WALK'),'2'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TURN'),'3'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BEND'),'4'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_SHAKE_LEG'),'5'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_UPDOWN'),'6'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_SWING'),'7'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TIPTOE_SWING'),'8'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_JITTER'),'9'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_ASCENDING_TURN'),'10'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_MOONWALKER'),'11'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_CRUSAITO'),'12'],
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FLAPPING'),'13']
]);
this.appendDummyInput().appendField(new Blockly.FieldImage('img/blocks/hippie.svg', 32*options.zoom, 32*options.zoom)).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT'));
this.appendDummyInput('').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_MOVEMENT')).appendField(movement,'MOVEMENT').setAlign(Blockly.ALIGN_RIGHT);
this.last_movement = -1;
this._inp1_removed = true;
this._inp2_removed = true;
this._inp3_removed = true;
this._inp4_removed = true;
this.checkMovement();
this.last_movement = this.getFieldValue('MOVEMENT');
this.setInputsInline(false);
this.setPreviousStatement(true,'code');
this.setNextStatement(true,'code');
this.setOutput(false);
this.setTooltip(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TOOLTIP'));
},
checkMovement: function() {
var _movement = this.getFieldValue('MOVEMENT');
try {
if (_movement<11)
{
this._inp4_removed=true;
this.removeInput('INP4');
}
} catch (e) {}
try {
if (((_movement>=6)&&(_movement<=10)&&(this.last_movement>=2)&&(this.last_movement<=5))||((_movement>=2)&&(_movement<=5)&&(this.last_movement>=6)&&(this.last_movement<=10)))
{
this._inp3_removed=true;
this.removeInput('INP3');
}
} catch (e) {}
try {
if (_movement<2)
{
this._inp3_removed=true;
this.removeInput('INP3');
}
} catch (e) {}
try {
if (_movement<1)
{
this._inp1_removed=true;
this.removeInput('INP1');
this._inp2_removed=true;
this.removeInput('INP2');
}
} catch (e) {}
if ( _movement == 1) {
if (this._inp1_removed)
{
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
this._inp1_removed=false;
}
else
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
if (this._inp2_removed)
{
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
this._inp2_removed=false;
}
else
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
} else if (( _movement >= 2)&&( _movement <= 10)) {
if (this._inp1_removed)
{
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
this._inp1_removed=false;
}
else
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
if (this._inp2_removed)
{
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
this._inp2_removed=false;
}
else
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
if (this._inp3_removed)
{
if (_movement==2)
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
else if (_movement<=5)
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
else
this.appendValueInput('INP3').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT3').setAlign(Blockly.ALIGN_RIGHT);
this._inp3_removed=false;
}
else {
try{
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3'); this.getInput('INP3').removeField('FIELD3');
if (_movement==2)
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3');
else if (_movement<=5)
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3');
else
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT3');
}catch (e) {}
}
}
else{
if (this._inp1_removed)
{
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
this._inp1_removed=false;
}
else
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
if (this._inp2_removed)
{
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
this._inp2_removed=false;
}
else
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
if (this._inp3_removed)
{
if (_movement==11)
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
else
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
this._inp3_removed=false;
}
else {
try{
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3'); this.getInput('INP3').removeField('FIELD3');
if (_movement==11)
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3');
else
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3');
}catch (e) {}
}
if (this._inp4_removed)
{
this.appendValueInput('INP4').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT','TEXT4')).setAlign(Blockly.ALIGN_RIGHT);
this._inp4_removed=false;
}
else
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT4');}catch (e) {}
}
},
onchange: function() {
if (this.getFieldValue('MOVEMENT') !== this.last_movement) {
this.checkMovement();
this.last_movement = this.getFieldValue('MOVEMENT');
}
}
};

79
img/blocks/hippie.svg Normal file
View File

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 512 512"
style="enable-background:new 0 0 512 512;"
xml:space="preserve"
sodipodi:docname="hippie.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata49"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs47" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview45"
showgrid="false"
inkscape:zoom="0.65186406"
inkscape:cx="570.66081"
inkscape:cy="231.21193"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
id="g6"><g
id="g4"><path
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
id="path2" /></g></g><g
id="g12"><g
id="g10"><path
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
id="path8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect4526"
width="371.31012"
height="28.113068"
x="69.096657"
y="281.03949" /><path
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
id="path4538"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /></g></g><g
id="g14" /><g
id="g16" /><g
id="g18" /><g
id="g20" /><g
id="g22" /><g
id="g24" /><g
id="g26" /><g
id="g28" /><g
id="g30" /><g
id="g32" /><g
id="g34" /><g
id="g36" /><g
id="g38" /><g
id="g40" /><g
id="g42" /></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

85
img/blocks/hippie_RL.svg Normal file
View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 512 512"
style="enable-background:new 0 0 512 512;"
xml:space="preserve"
sodipodi:docname="hippie_RL.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata49"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs47" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview45"
showgrid="false"
inkscape:zoom="0.65186406"
inkscape:cx="570.66081"
inkscape:cy="231.21193"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
id="g6"><g
id="g4"><path
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
id="path2" /></g></g><g
id="g12"><g
id="g10"><path
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
id="path8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect4526"
width="371.31012"
height="28.113068"
x="69.096657"
y="281.03949" /><path
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
id="path4538"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /><ellipse
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="path4542-6-7-1"
cx="438.74179"
cy="435.29688"
rx="35.283428"
ry="36.050461" /></g></g><g
id="g14" /><g
id="g16" /><g
id="g18" /><g
id="g20" /><g
id="g22" /><g
id="g24" /><g
id="g26" /><g
id="g28" /><g
id="g30" /><g
id="g32" /><g
id="g34" /><g
id="g36" /><g
id="g38" /><g
id="g40" /><g
id="g42" /></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

85
img/blocks/hippie_RR.svg Normal file
View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 512 512"
style="enable-background:new 0 0 512 512;"
xml:space="preserve"
sodipodi:docname="hippie_RR.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata49"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs47" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview45"
showgrid="false"
inkscape:zoom="0.65186406"
inkscape:cx="570.66081"
inkscape:cy="231.21193"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
id="g6"><g
id="g4"><path
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
id="path2" /></g></g><g
id="g12"><g
id="g10"><path
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
id="path8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect4526"
width="371.31012"
height="28.113068"
x="69.096657"
y="281.03949" /><path
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
id="path4538"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /><ellipse
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="path4542-6-7"
cx="76.70311"
cy="435.29688"
rx="35.283428"
ry="36.050461" /></g></g><g
id="g14" /><g
id="g16" /><g
id="g18" /><g
id="g20" /><g
id="g22" /><g
id="g24" /><g
id="g26" /><g
id="g28" /><g
id="g30" /><g
id="g32" /><g
id="g34" /><g
id="g36" /><g
id="g38" /><g
id="g40" /><g
id="g42" /></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

85
img/blocks/hippie_YL.svg Normal file
View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 512 512"
style="enable-background:new 0 0 512 512;"
xml:space="preserve"
sodipodi:docname="hippie_YL.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata49"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs47" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview45"
showgrid="false"
inkscape:zoom="0.65186406"
inkscape:cx="570.66081"
inkscape:cy="231.21193"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
id="g6"><g
id="g4"><path
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
id="path2" /></g></g><g
id="g12"><g
id="g10"><path
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
id="path8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect4526"
width="371.31012"
height="28.113068"
x="69.096657"
y="281.03949" /><path
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
id="path4538"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /><ellipse
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="path4542-6"
cx="437.2077"
cy="323.31033"
rx="35.283428"
ry="36.050461" /></g></g><g
id="g14" /><g
id="g16" /><g
id="g18" /><g
id="g20" /><g
id="g22" /><g
id="g24" /><g
id="g26" /><g
id="g28" /><g
id="g30" /><g
id="g32" /><g
id="g34" /><g
id="g36" /><g
id="g38" /><g
id="g40" /><g
id="g42" /></svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

85
img/blocks/hippie_YR.svg Normal file
View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 512 512"
style="enable-background:new 0 0 512 512;"
xml:space="preserve"
sodipodi:docname="hippie_YR.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata49"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs47" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview45"
showgrid="false"
inkscape:zoom="0.65186406"
inkscape:cx="570.66081"
inkscape:cy="231.21193"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
id="g6"><g
id="g4"><path
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
id="path2" /></g></g><g
id="g12"><g
id="g10"><path
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
id="path8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="rect4526"
width="371.31012"
height="28.113068"
x="69.096657"
y="281.03949" /><path
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
id="path4538"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /><ellipse
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
id="path4542"
cx="76.70311"
cy="322.54333"
rx="35.283428"
ry="36.050461" /></g></g><g
id="g14" /><g
id="g16" /><g
id="g18" /><g
id="g20" /><g
id="g22" /><g
id="g24" /><g
id="g26" /><g
id="g28" /><g
id="g30" /><g
id="g32" /><g
id="g34" /><g
id="g36" /><g
id="g38" /><g
id="g40" /><g
id="g42" /></svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

43
lang/HIPPIE.json Normal file
View File

@ -0,0 +1,43 @@
{
"langs":
{
"en-GB":
{
"keys":
{
"LANG_SUBCATEGORY_WALK": "Robot walk",
"LANG_MOVEMENT_HIPPIE_ROBOT": "Define robot",
"LANG_MOVEMENT_HIPPIE_YR": " Leg 1",
"LANG_MOVEMENT_HIPPIE_YL": " Leg 2",
"LANG_MOVEMENT_HIPPIE_RR": "Ankle 1",
"LANG_MOVEMENT_HIPPIE_RL": "Ankle 2",
"LANG_HIPPIE_INIT_TOOLTIP": "Defines the servo pins for a quadruped robot.",
"LANG_HIPPIE_MOVEMENT_HOME": "Home",
"LANG_HIPPIE_MOVEMENT_JUMP": "Jump",
"LANG_HIPPIE_MOVEMENT_WALK": "Walk",
"LANG_HIPPIE_MOVEMENT_TURN": "Turn",
"LANG_HIPPIE_MOVEMENT_BEND": "Bend",
"LANG_HIPPIE_MOVEMENT_SHAKE_LEG": "Shake leg",
"LANG_HIPPIE_MOVEMENT_UPDOWN": "Up-down",
"LANG_HIPPIE_MOVEMENT_SWING": "Swing",
"LANG_HIPPIE_MOVEMENT_TIPTOE_SWING": "Tip-toe swing",
"LANG_HIPPIE_MOVEMENT_JITTER": "Jitter",
"LANG_HIPPIE_MOVEMENT_ASCENDING_TURN": "Ascending Turn",
"LANG_HIPPIE_MOVEMENT_MOONWALKER": "Moonwalker",
"LANG_HIPPIE_MOVEMENT_CRUSAITO": "Crusaito",
"LANG_HIPPIE_MOVEMENT_FLAPPING": "Flapping",
"LANG_HIPPIE_MOVEMENT_MOVEMENT": "Movement",
"LANG_HIPPIE_MOVEMENT": "Move robot",
"LANG_HIPPIE_MOVEMENT_TOOLTIP": "Generates movement primitives for a hip-less robot",
"LANG_HIPPIE_MOVEMENT_STEPS": "Steps",
"LANG_HIPPIE_MOVEMENT_PERIOD": "Period",
"LANG_HIPPIE_MOVEMENT_DIR": "Direction",
"LANG_HIPPIE_MOVEMENT_HEIGHT": "Height",
"LANG_HIPPIE_MOVEMENT_FORWARD": "Forward",
"LANG_HIPPIE_MOVEMENT_BACKWARD": "Backward",
"LANG_HIPPIE_MOVEMENT_LEFT": "Left",
"LANG_HIPPIE_MOVEMENT_RIGHT": "Right"
}
}
}
}

View File

@ -263,7 +263,7 @@ void Hippie::bend (int steps, int T, int dir){
//-- T: Period of one steps
//-- dir: direction of movement
//--------------------------------------------------------
void Hippie::new_walk(int dir, float steps, int T){
void Hippie::new_walk(float steps, int T, int dir){
if(dir==1){
// Positions of walking
int Pos_A[4] = {90,90,180, 90};
@ -329,7 +329,7 @@ void Hippie::new_walk(int dir, float steps, int T){
//-- T: Period of one steps
//-- dir: direction of movement
//--------------------------------------------------------
void Hippie::new_turn(int dir, float steps, int T){
void Hippie::new_turn(float steps, int T, int dir){
//LEFT
if (dir==1) {
// Positions of turning

View File

@ -53,8 +53,8 @@ class Hippie
void test_pos();
void new_walk(int dir = FORWARD, float steps =4, int T=750);
void new_turn(int dir = LEFT, float steps =2, int T=1000);
void new_walk(float steps =4, int T=750, int dir = FORWARD);
void new_turn(float steps =2, int T=1000, int dir = LEFT);
private: