29 RColLineBuilder(
const T& start,
const T& dir,
43 float distToLine(
const T&)
const;
48 template <
class T>
inline 50 const T& dir,
const T& step,
TypeSet<T>& line )
55 , dirlen_(
Math::
Sqrt(float(dir_[0]*dir_[0]+dir_[1]*dir_[1])))
59 template <
class T>
inline 70 float disttoline =
mUdf(
float);
77 if ( dist<disttoline )
78 { bestrc = candidate; disttoline=dist; }
86 if ( dist<disttoline )
87 { bestrc = candidate; disttoline=dist; }
96 if ( dist<disttoline )
97 { bestrc = candidate; disttoline=dist; }
108 template <
class T>
inline 115 template <
class T>
inline 118 if ( start[0]%step[0] != stop[0]%step[0]
119 || start[1]%step[1] != stop[1]%step[1] )
124 { output += T(start);
return true; }
RColLineBuilder(const T &start, const T &dir, const T &step, TypeSet< T > &line)
Definition: rcollinebuilder.h:49
const T & dir_
Definition: rcollinebuilder.h:38
RowCol step_
Definition: horizontracker.h:139
Set of (small) copyable elements.
Definition: commontypes.h:26
const T & start_
Definition: rcollinebuilder.h:37
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
const T & step_
Definition: rcollinebuilder.h:39
int nextExtension()
Definition: rcollinebuilder.h:60
bool makeLine(const T &start, const T &stop, TypeSet< T > &output, const T &step)
const float dirlen_
Definition: rcollinebuilder.h:40
float distToLine(const T &) const
Definition: rcollinebuilder.h:109
Creates a line in RowCol space.
Definition: rcollinebuilder.h:26
#define mClass(module)
Definition: commondefs.h:161
TypeSet< T > & line_
Definition: rcollinebuilder.h:41