Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/unittests/LineUnittest.cpp

    r407782 r3dcb1f  
    2929void LineUnittest::setUp(){
    3030  // three lines along the axes
    31   la1 = new Line(zeroVec,unitVec[0]);
    32   la2 = new Line(zeroVec,unitVec[1]);
    33   la3 = new Line(zeroVec,unitVec[2]);
     31  la1 = new Line(zeroVec,e1);
     32  la2 = new Line(zeroVec,e2);
     33  la3 = new Line(zeroVec,e3);
    3434
    3535  // the lines along the planes defined by two coordinate axes
    36   lp1 = new Line(unitVec[0],unitVec[0]-unitVec[1]);
    37   lp2 = new Line(unitVec[1],unitVec[1]-unitVec[2]);
    38   lp3 = new Line(unitVec[2],unitVec[2]-unitVec[0]);
     36  lp1 = new Line(e1,e1-e2);
     37  lp2 = new Line(e2,e2-e3);
     38  lp3 = new Line(e3,e3-e1);
    3939}
    4040void LineUnittest::tearDown(){
     
    5252
    5353  // direction+origin should never fail
    54   CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,unitVec[0]));
    55   CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,unitVec[1]));
    56   CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,unitVec[2]));
     54  CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,e1));
     55  CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,e2));
     56  CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,e3));
    5757
    5858  // two points fails if both points are the same
    59   CPPUNIT_ASSERT_NO_THROW(makeLineThrough(unitVec[0],unitVec[1]));
    60   CPPUNIT_ASSERT_NO_THROW(makeLineThrough(unitVec[1],unitVec[2]));
    61   CPPUNIT_ASSERT_NO_THROW(makeLineThrough(unitVec[2],unitVec[0]));
     59  CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e1,e2));
     60  CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e2,e3));
     61  CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e3,e1));
    6262  // for zerovectors
    63   CPPUNIT_ASSERT_NO_THROW(makeLineThrough(unitVec[0],zeroVec));
    64   CPPUNIT_ASSERT_NO_THROW(makeLineThrough(unitVec[1],zeroVec));
    65   CPPUNIT_ASSERT_NO_THROW(makeLineThrough(unitVec[2],zeroVec));
     63  CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e1,zeroVec));
     64  CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e2,zeroVec));
     65  CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e3,zeroVec));
    6666  // now we pass two times the same point
    6767  CPPUNIT_ASSERT_THROW(makeLineThrough(zeroVec,zeroVec),LinearDependenceException);
    68   CPPUNIT_ASSERT_THROW(makeLineThrough(unitVec[0],unitVec[0]),LinearDependenceException);
    69   CPPUNIT_ASSERT_THROW(makeLineThrough(unitVec[1],unitVec[1]),LinearDependenceException);
    70   CPPUNIT_ASSERT_THROW(makeLineThrough(unitVec[2],unitVec[2]),LinearDependenceException);
     68  CPPUNIT_ASSERT_THROW(makeLineThrough(e1,e1),LinearDependenceException);
     69  CPPUNIT_ASSERT_THROW(makeLineThrough(e2,e2),LinearDependenceException);
     70  CPPUNIT_ASSERT_THROW(makeLineThrough(e3,e3),LinearDependenceException);
    7171
    7272}
     
    7878void LineUnittest::constructionResultTest(){
    7979  // test all directions
    80   CPPUNIT_ASSERT(testDirection(la1->getDirection(),unitVec[0]));
    81   CPPUNIT_ASSERT(testDirection(la2->getDirection(),unitVec[1]));
    82   CPPUNIT_ASSERT(testDirection(la3->getDirection(),unitVec[2]));
     80  CPPUNIT_ASSERT(testDirection(la1->getDirection(),e1));
     81  CPPUNIT_ASSERT(testDirection(la2->getDirection(),e2));
     82  CPPUNIT_ASSERT(testDirection(la3->getDirection(),e3));
    8383
    8484  // test origins
     
    9292  CPPUNIT_ASSERT(la3->isContained(zeroVec));
    9393
    94   CPPUNIT_ASSERT(la1->isContained(unitVec[0]));
    95   CPPUNIT_ASSERT(la2->isContained(unitVec[1]));
    96   CPPUNIT_ASSERT(la3->isContained(unitVec[2]));
    97 
    98   CPPUNIT_ASSERT(lp1->isContained(unitVec[0]));
    99   CPPUNIT_ASSERT(lp2->isContained(unitVec[1]));
    100   CPPUNIT_ASSERT(lp3->isContained(unitVec[2]));
    101 
    102   CPPUNIT_ASSERT(lp1->isContained(unitVec[1]));
    103   CPPUNIT_ASSERT(lp2->isContained(unitVec[2]));
    104   CPPUNIT_ASSERT(lp3->isContained(unitVec[0]));
     94  CPPUNIT_ASSERT(la1->isContained(e1));
     95  CPPUNIT_ASSERT(la2->isContained(e2));
     96  CPPUNIT_ASSERT(la3->isContained(e3));
     97
     98  CPPUNIT_ASSERT(lp1->isContained(e1));
     99  CPPUNIT_ASSERT(lp2->isContained(e2));
     100  CPPUNIT_ASSERT(lp3->isContained(e3));
     101
     102  CPPUNIT_ASSERT(lp1->isContained(e2));
     103  CPPUNIT_ASSERT(lp2->isContained(e3));
     104  CPPUNIT_ASSERT(lp3->isContained(e1));
    105105}
    106106
     
    112112
    113113  // multiples of the second support vector
    114   CPPUNIT_ASSERT(la1->isContained(unitVec[0]));
    115   CPPUNIT_ASSERT(la2->isContained(unitVec[1]));
    116   CPPUNIT_ASSERT(la3->isContained(unitVec[2]));
    117 
    118   CPPUNIT_ASSERT(la1->isContained(2*unitVec[0]));
    119   CPPUNIT_ASSERT(la2->isContained(2*unitVec[1]));
    120   CPPUNIT_ASSERT(la3->isContained(2*unitVec[2]));
    121 
    122   CPPUNIT_ASSERT(la1->isContained(3*unitVec[0]));
    123   CPPUNIT_ASSERT(la2->isContained(3*unitVec[1]));
    124   CPPUNIT_ASSERT(la3->isContained(3*unitVec[2]));
     114  CPPUNIT_ASSERT(la1->isContained(e1));
     115  CPPUNIT_ASSERT(la2->isContained(e2));
     116  CPPUNIT_ASSERT(la3->isContained(e3));
     117
     118  CPPUNIT_ASSERT(la1->isContained(2*e1));
     119  CPPUNIT_ASSERT(la2->isContained(2*e2));
     120  CPPUNIT_ASSERT(la3->isContained(2*e3));
     121
     122  CPPUNIT_ASSERT(la1->isContained(3*e1));
     123  CPPUNIT_ASSERT(la2->isContained(3*e2));
     124  CPPUNIT_ASSERT(la3->isContained(3*e3));
    125125
    126126  // negative multiples
    127   CPPUNIT_ASSERT(la1->isContained(-1*unitVec[0]));
    128   CPPUNIT_ASSERT(la2->isContained(-1*unitVec[1]));
    129   CPPUNIT_ASSERT(la3->isContained(-1*unitVec[2]));
    130 
    131   CPPUNIT_ASSERT(la1->isContained(-2*unitVec[0]));
    132   CPPUNIT_ASSERT(la2->isContained(-2*unitVec[1]));
    133   CPPUNIT_ASSERT(la3->isContained(-2*unitVec[2]));
     127  CPPUNIT_ASSERT(la1->isContained(-1*e1));
     128  CPPUNIT_ASSERT(la2->isContained(-1*e2));
     129  CPPUNIT_ASSERT(la3->isContained(-1*e3));
     130
     131  CPPUNIT_ASSERT(la1->isContained(-2*e1));
     132  CPPUNIT_ASSERT(la2->isContained(-2*e2));
     133  CPPUNIT_ASSERT(la3->isContained(-2*e3));
    134134
    135135  // points that should not be on the lines
    136   CPPUNIT_ASSERT(!la1->isContained(unitVec[1]));
    137   CPPUNIT_ASSERT(!la2->isContained(unitVec[2]));
    138   CPPUNIT_ASSERT(!la3->isContained(unitVec[0]));
    139 
    140   CPPUNIT_ASSERT(!la1->isContained(2*unitVec[1]));
    141   CPPUNIT_ASSERT(!la2->isContained(2*unitVec[2]));
    142   CPPUNIT_ASSERT(!la3->isContained(2*unitVec[0]));
    143 
    144   CPPUNIT_ASSERT(!la1->isContained(-1*unitVec[1]));
    145   CPPUNIT_ASSERT(!la2->isContained(-1*unitVec[2]));
    146   CPPUNIT_ASSERT(!la3->isContained(-1*unitVec[0]));
     136  CPPUNIT_ASSERT(!la1->isContained(e2));
     137  CPPUNIT_ASSERT(!la2->isContained(e3));
     138  CPPUNIT_ASSERT(!la3->isContained(e1));
     139
     140  CPPUNIT_ASSERT(!la1->isContained(2*e2));
     141  CPPUNIT_ASSERT(!la2->isContained(2*e3));
     142  CPPUNIT_ASSERT(!la3->isContained(2*e1));
     143
     144  CPPUNIT_ASSERT(!la1->isContained(-1*e2));
     145  CPPUNIT_ASSERT(!la2->isContained(-1*e3));
     146  CPPUNIT_ASSERT(!la3->isContained(-1*e1));
    147147
    148148  // For the plane lines
    149   CPPUNIT_ASSERT(lp1->isContained(unitVec[0]));
    150   CPPUNIT_ASSERT(lp2->isContained(unitVec[1]));
    151   CPPUNIT_ASSERT(lp3->isContained(unitVec[2]));
    152 
    153   CPPUNIT_ASSERT(lp1->isContained(unitVec[1]));
    154   CPPUNIT_ASSERT(lp2->isContained(unitVec[2]));
    155   CPPUNIT_ASSERT(lp3->isContained(unitVec[0]));
    156 
    157   CPPUNIT_ASSERT(lp1->isContained(unitVec[0]+2*(unitVec[0]-unitVec[1])));
    158   CPPUNIT_ASSERT(lp2->isContained(unitVec[1]+2*(unitVec[1]-unitVec[2])));
    159   CPPUNIT_ASSERT(lp3->isContained(unitVec[2]+2*(unitVec[2]-unitVec[0])));
    160 
    161   CPPUNIT_ASSERT(lp1->isContained(unitVec[0]-2*(unitVec[0]-unitVec[1])));
    162   CPPUNIT_ASSERT(lp2->isContained(unitVec[1]-2*(unitVec[1]-unitVec[2])));
    163   CPPUNIT_ASSERT(lp3->isContained(unitVec[2]-2*(unitVec[2]-unitVec[0])));
     149  CPPUNIT_ASSERT(lp1->isContained(e1));
     150  CPPUNIT_ASSERT(lp2->isContained(e2));
     151  CPPUNIT_ASSERT(lp3->isContained(e3));
     152
     153  CPPUNIT_ASSERT(lp1->isContained(e2));
     154  CPPUNIT_ASSERT(lp2->isContained(e3));
     155  CPPUNIT_ASSERT(lp3->isContained(e1));
     156
     157  CPPUNIT_ASSERT(lp1->isContained(e1+2*(e1-e2)));
     158  CPPUNIT_ASSERT(lp2->isContained(e2+2*(e2-e3)));
     159  CPPUNIT_ASSERT(lp3->isContained(e3+2*(e3-e1)));
     160
     161  CPPUNIT_ASSERT(lp1->isContained(e1-2*(e1-e2)));
     162  CPPUNIT_ASSERT(lp2->isContained(e2-2*(e2-e3)));
     163  CPPUNIT_ASSERT(lp3->isContained(e3-2*(e3-e1)));
    164164}
    165165
     
    177177  // axes and plane lines
    178178  fixture = la1->getIntersection(*lp1);
    179   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
     179  CPPUNIT_ASSERT_EQUAL(fixture,e1);
    180180  fixture = la2->getIntersection(*lp2);
    181   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
     181  CPPUNIT_ASSERT_EQUAL(fixture,e2);
    182182  fixture = la3->getIntersection(*lp3);
    183   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
     183  CPPUNIT_ASSERT_EQUAL(fixture,e3);
    184184
    185185  fixture = la1->getIntersection(*lp3);
    186   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
     186  CPPUNIT_ASSERT_EQUAL(fixture,e1);
    187187  fixture = la2->getIntersection(*lp1);
    188   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
     188  CPPUNIT_ASSERT_EQUAL(fixture,e2);
    189189  fixture = la3->getIntersection(*lp2);
    190   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
     190  CPPUNIT_ASSERT_EQUAL(fixture,e3);
    191191
    192192  // two plane lines
    193193  fixture = lp1->getIntersection(*lp2);
    194   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
     194  CPPUNIT_ASSERT_EQUAL(fixture,e2);
    195195  fixture = lp2->getIntersection(*lp3);
    196   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
     196  CPPUNIT_ASSERT_EQUAL(fixture,e3);
    197197  fixture = lp3->getIntersection(*lp1);
    198   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
     198  CPPUNIT_ASSERT_EQUAL(fixture,e1);
    199199
    200200  // When we have two times the same line, we check if the point is on the line
     
    242242
    243243  // rotate vectors on the axis around their lines
    244   fixture = la1->rotateVector(unitVec[0],1.);
    245   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
    246   fixture = la2->rotateVector(unitVec[1],1.);
    247   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
    248   fixture = la3->rotateVector(unitVec[2],1.);
    249   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
    250 
    251   fixture = la1->rotateVector(unitVec[0],2.);
    252   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
    253   fixture = la2->rotateVector(unitVec[1],2.);
    254   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
    255   fixture = la3->rotateVector(unitVec[2],2.);
    256   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
     244  fixture = la1->rotateVector(e1,1.);
     245  CPPUNIT_ASSERT_EQUAL(fixture,e1);
     246  fixture = la2->rotateVector(e2,1.);
     247  CPPUNIT_ASSERT_EQUAL(fixture,e2);
     248  fixture = la3->rotateVector(e3,1.);
     249  CPPUNIT_ASSERT_EQUAL(fixture,e3);
     250
     251  fixture = la1->rotateVector(e1,2.);
     252  CPPUNIT_ASSERT_EQUAL(fixture,e1);
     253  fixture = la2->rotateVector(e2,2.);
     254  CPPUNIT_ASSERT_EQUAL(fixture,e2);
     255  fixture = la3->rotateVector(e3,2.);
     256  CPPUNIT_ASSERT_EQUAL(fixture,e3);
    257257
    258258  // more vectors on the axis
    259   fixture = la1->rotateVector(2*unitVec[0],1.);
    260   CPPUNIT_ASSERT_EQUAL(fixture,2*unitVec[0]);
    261   fixture = la2->rotateVector(2*unitVec[1],1.);
    262   CPPUNIT_ASSERT_EQUAL(fixture,2*unitVec[1]);
    263   fixture = la3->rotateVector(2*unitVec[2],1.);
    264   CPPUNIT_ASSERT_EQUAL(fixture,2*unitVec[2]);
    265 
    266   fixture = la1->rotateVector(2*unitVec[0],2.);
    267   CPPUNIT_ASSERT_EQUAL(fixture,2*unitVec[0]);
    268   fixture = la2->rotateVector(2*unitVec[1],2.);
    269   CPPUNIT_ASSERT_EQUAL(fixture,2*unitVec[1]);
    270   fixture = la3->rotateVector(2*unitVec[2],2.);
    271   CPPUNIT_ASSERT_EQUAL(fixture,2*unitVec[2]);
     259  fixture = la1->rotateVector(2*e1,1.);
     260  CPPUNIT_ASSERT_EQUAL(fixture,2*e1);
     261  fixture = la2->rotateVector(2*e2,1.);
     262  CPPUNIT_ASSERT_EQUAL(fixture,2*e2);
     263  fixture = la3->rotateVector(2*e3,1.);
     264  CPPUNIT_ASSERT_EQUAL(fixture,2*e3);
     265
     266  fixture = la1->rotateVector(2*e1,2.);
     267  CPPUNIT_ASSERT_EQUAL(fixture,2*e1);
     268  fixture = la2->rotateVector(2*e2,2.);
     269  CPPUNIT_ASSERT_EQUAL(fixture,2*e2);
     270  fixture = la3->rotateVector(2*e3,2.);
     271  CPPUNIT_ASSERT_EQUAL(fixture,2*e3);
    272272
    273273  // negative factors
    274   fixture = la1->rotateVector(-1*unitVec[0],1.);
    275   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[0]);
    276   fixture = la2->rotateVector(-1*unitVec[1],1.);
    277   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[1]);
    278   fixture = la3->rotateVector(-1*unitVec[2],1.);
    279   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[2]);
    280 
    281   fixture = la1->rotateVector(-1*unitVec[0],2.);
    282   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[0]);
    283   fixture = la2->rotateVector(-1*unitVec[1],2.);
    284   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[1]);
    285   fixture = la3->rotateVector(-1*unitVec[2],2.);
    286   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[2]);
     274  fixture = la1->rotateVector(-1*e1,1.);
     275  CPPUNIT_ASSERT_EQUAL(fixture,-1*e1);
     276  fixture = la2->rotateVector(-1*e2,1.);
     277  CPPUNIT_ASSERT_EQUAL(fixture,-1*e2);
     278  fixture = la3->rotateVector(-1*e3,1.);
     279  CPPUNIT_ASSERT_EQUAL(fixture,-1*e3);
     280
     281  fixture = la1->rotateVector(-1*e1,2.);
     282  CPPUNIT_ASSERT_EQUAL(fixture,-1*e1);
     283  fixture = la2->rotateVector(-1*e2,2.);
     284  CPPUNIT_ASSERT_EQUAL(fixture,-1*e2);
     285  fixture = la3->rotateVector(-1*e3,2.);
     286  CPPUNIT_ASSERT_EQUAL(fixture,-1*e3);
    287287
    288288
    289289
    290290  // now the real rotations
    291   // unitVec[1] around unitVec[0]
    292   fixture = la1->rotateVector(unitVec[1],0);
    293   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
    294   fixture = la1->rotateVector(unitVec[1],1./2.*M_PI);
    295   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[2]);
    296   fixture = la1->rotateVector(unitVec[1],M_PI);
    297   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[1]);
    298   fixture = la1->rotateVector(unitVec[1],2*M_PI);
    299   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
    300 
    301   // unitVec[2] around unitVec[1]
    302   fixture = la2->rotateVector(unitVec[2],0);
    303   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
    304   fixture = la2->rotateVector(unitVec[2],1./2.*M_PI);
    305   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[0]);
    306   fixture = la2->rotateVector(unitVec[2],M_PI);
    307   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[2]);
    308   fixture = la2->rotateVector(unitVec[2],2*M_PI);
    309   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
    310 
    311   // unitVec[0] around unitVec[2]
    312   fixture = la3->rotateVector(unitVec[0],0);
    313   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
    314   fixture = la3->rotateVector(unitVec[0],1./2.*M_PI);
    315   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[1]);
    316   fixture = la3->rotateVector(unitVec[0],M_PI);
    317   CPPUNIT_ASSERT_EQUAL(fixture,-1*unitVec[0]);
    318   fixture = la3->rotateVector(unitVec[0],2*M_PI);
    319   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
     291  // e2 around e1
     292  fixture = la1->rotateVector(e2,0);
     293  CPPUNIT_ASSERT_EQUAL(fixture,e2);
     294  fixture = la1->rotateVector(e2,1./2.*M_PI);
     295  CPPUNIT_ASSERT_EQUAL(fixture,-1*e3);
     296  fixture = la1->rotateVector(e2,M_PI);
     297  CPPUNIT_ASSERT_EQUAL(fixture,-1*e2);
     298  fixture = la1->rotateVector(e2,2*M_PI);
     299  CPPUNIT_ASSERT_EQUAL(fixture,e2);
     300
     301  // e3 around e2
     302  fixture = la2->rotateVector(e3,0);
     303  CPPUNIT_ASSERT_EQUAL(fixture,e3);
     304  fixture = la2->rotateVector(e3,1./2.*M_PI);
     305  CPPUNIT_ASSERT_EQUAL(fixture,-1*e1);
     306  fixture = la2->rotateVector(e3,M_PI);
     307  CPPUNIT_ASSERT_EQUAL(fixture,-1*e3);
     308  fixture = la2->rotateVector(e3,2*M_PI);
     309  CPPUNIT_ASSERT_EQUAL(fixture,e3);
     310
     311  // e1 around e3
     312  fixture = la3->rotateVector(e1,0);
     313  CPPUNIT_ASSERT_EQUAL(fixture,e1);
     314  fixture = la3->rotateVector(e1,1./2.*M_PI);
     315  CPPUNIT_ASSERT_EQUAL(fixture,-1*e2);
     316  fixture = la3->rotateVector(e1,M_PI);
     317  CPPUNIT_ASSERT_EQUAL(fixture,-1*e1);
     318  fixture = la3->rotateVector(e1,2*M_PI);
     319  CPPUNIT_ASSERT_EQUAL(fixture,e1);
    320320
    321321
     
    323323
    324324  // Vectors on the line
    325   fixture = lp1->rotateVector(unitVec[0],1.);
    326   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
    327   fixture = lp1->rotateVector(unitVec[1],1.);
    328   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
    329 
    330   fixture = lp2->rotateVector(unitVec[1],1.);
    331   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[1]);
    332   fixture = lp2->rotateVector(unitVec[2],1.);
    333   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
    334 
    335   fixture = lp3->rotateVector(unitVec[2],1.);
    336   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[2]);
    337   fixture = lp3->rotateVector(unitVec[0],1.);
    338   CPPUNIT_ASSERT_EQUAL(fixture,unitVec[0]);
     325  fixture = lp1->rotateVector(e1,1.);
     326  CPPUNIT_ASSERT_EQUAL(fixture,e1);
     327  fixture = lp1->rotateVector(e2,1.);
     328  CPPUNIT_ASSERT_EQUAL(fixture,e2);
     329
     330  fixture = lp2->rotateVector(e2,1.);
     331  CPPUNIT_ASSERT_EQUAL(fixture,e2);
     332  fixture = lp2->rotateVector(e3,1.);
     333  CPPUNIT_ASSERT_EQUAL(fixture,e3);
     334
     335  fixture = lp3->rotateVector(e3,1.);
     336  CPPUNIT_ASSERT_EQUAL(fixture,e3);
     337  fixture = lp3->rotateVector(e1,1.);
     338  CPPUNIT_ASSERT_EQUAL(fixture,e1);
    339339
    340340  // the real stuff
     
    353353  CPPUNIT_ASSERT_EQUAL(fixture,zeroVec);
    354354}
    355 
    356 void LineUnittest::sphereIntersectionTest(){
    357   {
    358     std::vector<Vector> res = la1->getSphereIntersections();
    359     CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);
    360     CPPUNIT_ASSERT(testDirection(res[0],unitVec[0]));
    361     CPPUNIT_ASSERT(testDirection(res[1],unitVec[0]));
    362     CPPUNIT_ASSERT(res[0]!=res[1]);
    363   }
    364 
    365   {
    366     std::vector<Vector> res = la2->getSphereIntersections();
    367     CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);
    368     CPPUNIT_ASSERT(testDirection(res[0],unitVec[1]));
    369     CPPUNIT_ASSERT(testDirection(res[1],unitVec[1]));
    370     CPPUNIT_ASSERT(res[0]!=res[1]);
    371   }
    372 
    373   {
    374     std::vector<Vector> res = la3->getSphereIntersections();
    375     CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);
    376     CPPUNIT_ASSERT(testDirection(res[0],unitVec[2]));
    377     CPPUNIT_ASSERT(testDirection(res[1],unitVec[2]));
    378     CPPUNIT_ASSERT(res[0]!=res[1]);
    379   }
    380 
    381   {
    382     std::vector<Vector> res = lp1->getSphereIntersections();
    383     CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);
    384     CPPUNIT_ASSERT((res[0]==unitVec[0]) || (res[0]==unitVec[1]));
    385     CPPUNIT_ASSERT((res[1]==unitVec[0]) || (res[1]==unitVec[1]));
    386     CPPUNIT_ASSERT(res[0]!=res[1]);
    387   }
    388 
    389   {
    390     std::vector<Vector> res = lp2->getSphereIntersections();
    391     CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);
    392     CPPUNIT_ASSERT((res[0]==unitVec[1]) || (res[0]==unitVec[2]));
    393     CPPUNIT_ASSERT((res[1]==unitVec[1]) || (res[1]==unitVec[2]));
    394     CPPUNIT_ASSERT(res[0]!=res[1]);
    395   }
    396 
    397   {
    398     std::vector<Vector> res = lp3->getSphereIntersections();
    399     CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);
    400     CPPUNIT_ASSERT((res[0]==unitVec[2]) || (res[0]==unitVec[0]));
    401     CPPUNIT_ASSERT((res[1]==unitVec[2]) || (res[1]==unitVec[0]));
    402     CPPUNIT_ASSERT(res[0]!=res[1]);
    403   }
    404 }
Note: See TracChangeset for help on using the changeset viewer.