MCPcopy Create free account
hub / github.com/LAStools/LAStools / inside_circle

Method inside_circle

LASlib/src/lasreader.cpp:205–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203}
204
205BOOL LASreader::inside_circle(const F64 center_x, const F64 center_y, const F64 radius) {
206 inside = 2;
207 c_center_x = center_x;
208 c_center_y = center_y;
209 c_radius = radius;
210 c_radius_squared = radius * radius;
211 orig_min_x = header.min_x;
212 orig_min_y = header.min_y;
213 orig_max_x = header.max_x;
214 orig_max_y = header.max_y;
215 header.min_x = center_x - radius;
216 header.min_y = center_y - radius;
217 header.max_x = center_x + radius;
218 header.max_y = center_y + radius;
219 if (((orig_min_x > header.max_x) || (orig_min_y > header.max_y) || (orig_max_x < header.min_x) || (orig_max_y < header.min_y))) {
220 if (filter || transform) {
221 read_complex = &LASreader::read_point_none;
222 } else {
223 read_simple = &LASreader::read_point_none;
224 }
225 } else if (filter || transform) {
226 if (index) {
227 if (index) index->intersect_circle(center_x, center_y, radius);
228 read_complex = &LASreader::read_point_inside_circle_indexed;
229 } else if (copc_index) {
230 copc_index->intersect_circle(center_x, center_y, radius);
231 read_complex = &LASreader::read_point_inside_circle_copc_indexed;
232 } else {
233 read_complex = &LASreader::read_point_inside_circle;
234 }
235 } else {
236 if (index) {
237 if (index) index->intersect_circle(center_x, center_y, radius);
238 read_simple = &LASreader::read_point_inside_circle_indexed;
239 } else if (copc_index) {
240 copc_index->intersect_circle(center_x, center_y, radius);
241 read_simple = &LASreader::read_point_inside_circle_copc_indexed;
242 } else {
243 read_simple = &LASreader::read_point_inside_circle;
244 }
245 }
246 return TRUE;
247}
248
249BOOL LASreader::inside_rectangle(const F64 min_x, const F64 min_y, const F64 max_x, const F64 max_y) {
250 inside = 3;

Callers 6

filterMethod · 0.45
openMethod · 0.45
reopenMethod · 0.45

Calls 1

intersect_circleMethod · 0.45

Tested by

no test coverage detected