OpenWalnut
1.5.0dev
|
Unit tests the Bresenham algorithm. More...
#include <WBresenhamDBL_test.h>
Public Member Functions | |
void | setUp (void) |
Creates a member variable with a WBresenham instance which you may use for testing. More... | |
void | tearDown (void) |
Clean up after each test. More... | |
void | testLineSegementWithSameStartAndEndPoint (void) |
If a line segments starts and ends on the same point only its voxel should be selected. More... | |
void | testPolySegmentOneVoxelRastering (void) |
Multiple segments in one voxel should also mark only this voxel. More... | |
void | testPolyLineRastering (void) |
Lines like WFibers consisting out of multiple line segements should be traced segment by segment. More... | |
void | testSymmetry (void) |
If you have a line from A to B then rastering it from B to should be equivalent. More... | |
void | testExactLineIsNotRasteredTheSameWayAsMidpointLines (void) |
Rasterization of exact lines must not match rasteriation of midpoint lines. More... | |
Private Attributes | |
std::shared_ptr< WBresenhamDBL > | m_algo |
test instace of the WBresenham algo More... | |
Unit tests the Bresenham algorithm.
Definition at line 39 of file WBresenhamDBL_test.h.
|
inline |
Creates a member variable with a WBresenham instance which you may use for testing.
Definition at line 46 of file WBresenhamDBL_test.h.
References m_algo, and WLogger::startup().
|
inline |
|
inline |
Rasterization of exact lines must not match rasteriation of midpoint lines.
Definition at line 161 of file WBresenhamDBL_test.h.
References wlimits::DBL_EPS, m_algo, and WMixinVector< ValueT >::push_back().
|
inline |
If a line segments starts and ends on the same point only its voxel should be selected.
Definition at line 66 of file WBresenhamDBL_test.h.
References m_algo, and WMixinVector< ValueT >::push_back().
|
inline |
Lines like WFibers consisting out of multiple line segements should be traced segment by segment.
Definition at line 96 of file WBresenhamDBL_test.h.
References m_algo, and WMixinVector< ValueT >::push_back().
|
inline |
Multiple segments in one voxel should also mark only this voxel.
Definition at line 80 of file WBresenhamDBL_test.h.
References m_algo, and WMixinVector< ValueT >::push_back().
|
inline |
If you have a line from A to B then rastering it from B to should be equivalent.
Definition at line 137 of file WBresenhamDBL_test.h.
References WMixinVector< ValueT >::clear(), m_algo, and WMixinVector< ValueT >::push_back().
|
private |
test instace of the WBresenham algo
Definition at line 187 of file WBresenhamDBL_test.h.
Referenced by setUp(), tearDown(), testExactLineIsNotRasteredTheSameWayAsMidpointLines(), testLineSegementWithSameStartAndEndPoint(), testPolyLineRastering(), testPolySegmentOneVoxelRastering(), and testSymmetry().