just a test

Dependencies:   mbed

Fork of scoreLight_Advanced by Alvaro Cassinelli

Committer:
mbedalvaro
Date:
Mon Nov 05 06:08:35 2012 +0000
Revision:
33:43e8bc451ef0
Parent:
32:52273c3291fe
Child:
35:35af5086ab4f
added resizing functions, as well as better control on the thresholding modes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbedalvaro 32:52273c3291fe 1 #include "classRigidScafold.h"
mbedalvaro 32:52273c3291fe 2
mbedalvaro 32:52273c3291fe 3 RigidScafold::RigidScafold() {
mbedalvaro 32:52273c3291fe 4 }
mbedalvaro 32:52273c3291fe 5
mbedalvaro 32:52273c3291fe 6 RigidScafold::~RigidScafold() {
mbedalvaro 32:52273c3291fe 7 }
mbedalvaro 32:52273c3291fe 8
mbedalvaro 32:52273c3291fe 9
mbedalvaro 32:52273c3291fe 10 void RigidScafold::buildCircularScafold(float _radius, vector2Dd _pos, int _numScafoldPoints) {
mbedalvaro 33:43e8bc451ef0 11 sizeScafold=_radius;
mbedalvaro 32:52273c3291fe 12 centerScafold=_pos;
mbedalvaro 32:52273c3291fe 13 scafold.resize(_numScafoldPoints);
mbedalvaro 32:52273c3291fe 14 float angInc= 2.0 * PI / _numScafoldPoints;
mbedalvaro 32:52273c3291fe 15 float ang=0;
mbedalvaro 32:52273c3291fe 16 for (int i = 0; i < scafold.size(); i++) {
mbedalvaro 33:43e8bc451ef0 17 scafold[i]= vector2Dd( cos(ang)* _radius, sin(ang)* sizeScafold ) + centerScafold;
mbedalvaro 32:52273c3291fe 18 // note: I cannot do vector2Dd( cos(ang), sin(ang) ) * _radius because vector2Dd would give (0,0)
mbedalvaro 32:52273c3291fe 19 ang+=angInc;
mbedalvaro 32:52273c3291fe 20 }
mbedalvaro 32:52273c3291fe 21 }
mbedalvaro 32:52273c3291fe 22
mbedalvaro 33:43e8bc451ef0 23 void RigidScafold::resizeDimensionScafold(float _newSize) {
mbedalvaro 33:43e8bc451ef0 24 resizeFactorDimensionScafold(_newSize/sizeScafold);
mbedalvaro 33:43e8bc451ef0 25 sizeScafold=_newSize;
mbedalvaro 33:43e8bc451ef0 26 }
mbedalvaro 33:43e8bc451ef0 27
mbedalvaro 33:43e8bc451ef0 28 void RigidScafold::resizeFactorDimensionScafold(float _factor) {
mbedalvaro 32:52273c3291fe 29 for (int i = 0; i < scafold.size(); i++) {
mbedalvaro 32:52273c3291fe 30 scafold[i] = ( scafold[i]-centerScafold)*_factor+centerScafold;
mbedalvaro 32:52273c3291fe 31 }
mbedalvaro 33:43e8bc451ef0 32 sizeScafold*=_factor;
mbedalvaro 32:52273c3291fe 33 }
mbedalvaro 32:52273c3291fe 34
mbedalvaro 32:52273c3291fe 35 void RigidScafold::buildLine(float _length, float _angleDeg, vector2Dd _pos, int _numScafoldPoints) {
mbedalvaro 32:52273c3291fe 36 scafold.resize(_numScafoldPoints);
mbedalvaro 32:52273c3291fe 37 vector2Dd auxStep = vector2Dd(_length * cos(_angleDeg/180.0 * PI)/_numScafoldPoints, sin(_length * _angleDeg/180.0 * PI)/_numScafoldPoints ) ;
mbedalvaro 32:52273c3291fe 38 for (int i = 0; i < scafold.size(); i++) {
mbedalvaro 32:52273c3291fe 39 scafold[i]= auxStep * i + _pos;
mbedalvaro 32:52273c3291fe 40 }
mbedalvaro 32:52273c3291fe 41 }
mbedalvaro 32:52273c3291fe 42
mbedalvaro 32:52273c3291fe 43 // Other functions to create letters, text, etc.
mbedalvaro 32:52273c3291fe 44 // ... TO DO ....
mbedalvaro 32:52273c3291fe 45
mbedalvaro 0:345b3bc7a0ea 46