LCOV - code coverage report
Current view: top level - blClone/src - Edge.cpp (source / functions) Hit Total Coverage
Test: report.info Lines: 26 30 86.7 %
Date: 2014-06-08 Functions: 4 6 66.7 %

          Line data    Source code
       1             : #include "Edge.h"
       2             : 
       3           0 : Edge::Edge() {
       4           0 : }
       5             : 
       6           0 : Edge::~Edge() {
       7           0 : }
       8             : 
       9          36 : Edge::Edge(Vector2f b, Vector2f e) {
      10             :     
      11          36 :     begin( b );
      12          36 :     end( e );
      13          36 : }
      14             : 
      15          36 : void Edge::begin( Vector2f b ) {
      16             : 
      17          36 :         begin_ = b;
      18          36 : }
      19             : 
      20          36 : void Edge::end( Vector2f e ) {
      21             : 
      22          36 :         end_ = e;
      23          36 : }
      24             : 
      25         180 : EdgeShadow* Edge::castShadow( Light* light ) {
      26             : 
      27             :         // Cast edge shadow from given light.
      28         180 :     EdgeShadow* shadow = 0;
      29             : 
      30         180 :     end_ - begin_;
      31             : 
      32         180 :     Vector2f edgeVector = end_ - begin_;
      33         180 :     Vector2f normal = edgeVector.normal();
      34         180 :     Vector2f lightToBegin = begin_ - light->location();
      35             : 
      36         180 :     if( normal * lightToBegin > 0 ) {
      37          98 :         Vector2f lightToEnd = end_ - light->location();
      38             :         // TODO : May need to extend more.
      39          98 :         Vector2f beginExtend = begin_ + lightToBegin * 5;
      40          98 :         Vector2f endExtend = end_ + lightToEnd * 5;
      41             : 
      42          98 :         shadow = new EdgeShadow();
      43          98 :         shadow->addVertex(begin_);
      44          98 :         shadow->addVertex(beginExtend);
      45          98 :         shadow->addVertex(endExtend);
      46          98 :         shadow->addVertex(end_);
      47             :     }
      48             : 
      49         180 :     return shadow;
      50             : }

Generated by: LCOV version 1.9