#include <blobs.h>
Definition at line 203 of file blobs.h.
◆ TESSLINE() [1/2]
◆ TESSLINE() [2/2]
TESSLINE::TESSLINE |
( |
const TESSLINE & |
src | ) |
|
|
inline |
Definition at line 205 of file blobs.h.
void CopyFrom(const TESSLINE &src)
◆ ~TESSLINE()
◆ BBArea()
int TESSLINE::BBArea |
( |
| ) |
const |
|
inline |
◆ bounding_box()
TBOX TESSLINE::bounding_box |
( |
| ) |
const |
◆ BuildFromOutlineList()
Definition at line 94 of file blobs.cpp.
96 result->loop = outline;
108 }
while (pt != outline);
110 result->SetupFromPos();
int32_t pathlength() const
◆ Clear()
Definition at line 142 of file blobs.cpp.
143 if (
loop ==
nullptr)
return;
149 this_edge = next_edge;
150 }
while (this_edge !=
loop);
◆ ComputeBoundingBox()
void TESSLINE::ComputeBoundingBox |
( |
| ) |
|
Definition at line 213 of file blobs.cpp.
214 int minx = INT32_MAX;
215 int miny = INT32_MAX;
216 int maxx = -INT32_MAX;
217 int maxy = -INT32_MAX;
224 if (this_edge->
pos.
x < minx) minx = this_edge->
pos.
x;
225 if (this_edge->
pos.
y < miny) miny = this_edge->
pos.
y;
226 if (this_edge->
pos.
x > maxx) maxx = this_edge->
pos.
x;
227 if (this_edge->
pos.
y > maxy) maxy = this_edge->
pos.
y;
229 this_edge = this_edge->
next;
230 }
while (this_edge !=
loop);
◆ Contains()
bool TESSLINE::Contains |
( |
const TPOINT & |
pt | ) |
const |
|
inline |
◆ CopyFrom()
void TESSLINE::CopyFrom |
( |
const TESSLINE & |
src | ) |
|
Definition at line 115 of file blobs.cpp.
121 if (src.
loop !=
nullptr) {
126 newpt =
new EDGEPT(*srcpt);
127 if (prevpt ==
nullptr) {
130 newpt->
prev = prevpt;
131 prevpt->
next = newpt;
135 }
while (srcpt != src.
loop);
◆ FindBestStartPt()
EDGEPT * TESSLINE::FindBestStartPt |
( |
| ) |
const |
◆ MinMaxCrossProduct()
void TESSLINE::MinMaxCrossProduct |
( |
const TPOINT |
vec, |
|
|
int * |
min_xp, |
|
|
int * |
max_xp |
|
) |
| const |
Definition at line 243 of file blobs.cpp.
250 int product = this_edge->
pos.
cross(vec);
253 this_edge = this_edge->
next;
254 }
while (this_edge !=
loop);
void UpdateRange(const T1 &x, T2 *lower_bound, T2 *upper_bound)
int cross(const TPOINT &other) const
◆ Move()
void TESSLINE::Move |
( |
const ICOORD |
vec | ) |
|
Definition at line 179 of file blobs.cpp.
182 pt->
pos.
x += vec.
x();
183 pt->
pos.
y += vec.
y();
185 }
while (pt !=
loop);
int16_t y() const
access_function
int16_t x() const
access function
◆ Normalize()
void TESSLINE::Normalize |
( |
const DENORM & |
denorm | ) |
|
Definition at line 155 of file blobs.cpp.
160 }
while (pt !=
loop);
void LocalNormTransform(const TPOINT &pt, TPOINT *transformed) const
◆ operator=()
◆ plot()
Definition at line 262 of file blobs.cpp.
265 window->
Pen(child_color);
277 }
while (pt !=
loop);
void DrawTo(int x, int y)
void SetCursor(int x, int y)
◆ Rotate()
void TESSLINE::Rotate |
( |
const FCOORD |
rotation | ) |
|
Definition at line 165 of file blobs.cpp.
168 int tmp =
static_cast<int>(
169 floor(pt->
pos.
x * rot.x() - pt->
pos.
y * rot.y() + 0.5));
170 pt->
pos.
y =
static_cast<int>(
171 floor(pt->
pos.
y * rot.x() + pt->
pos.
x * rot.y() + 0.5));
174 }
while (pt !=
loop);
◆ SameBox()
bool TESSLINE::SameBox |
( |
const TESSLINE & |
other | ) |
const |
|
inline |
◆ Scale()
void TESSLINE::Scale |
( |
float |
factor | ) |
|
Definition at line 190 of file blobs.cpp.
193 pt->
pos.
x =
static_cast<int>(floor(pt->
pos.
x * factor + 0.5));
194 pt->
pos.
y =
static_cast<int>(floor(pt->
pos.
y * factor + 0.5));
196 }
while (pt !=
loop);
◆ SegmentCrosses()
bool TESSLINE::SegmentCrosses |
( |
const TPOINT & |
pt1, |
|
|
const TPOINT & |
pt2 |
|
) |
| const |
|
inline |
Definition at line 246 of file blobs.h.
252 }
while (pt !=
loop);
static bool IsCrossed(const TPOINT &a0, const TPOINT &a1, const TPOINT &b0, const TPOINT &b1)
bool Contains(const TPOINT &pt) const
◆ SetupFromPos()
void TESSLINE::SetupFromPos |
( |
| ) |
|
Definition at line 201 of file blobs.cpp.
207 }
while (pt !=
loop);
void ComputeBoundingBox()
◆ botright
◆ is_hole
◆ loop
◆ next
◆ start
◆ topleft
The documentation for this struct was generated from the following files: