4#include "fish/fiber/grid/types/LineSet.hpp"
5#include <fish/fiber/baseop/ExpandBBox.hpp>
6#include "gridopDllApi.h"
21 const RefPtr<Eagle::BoundingBox>&frag_bbox);
26 const RefPtr<Eagle::BoundingBox>&frag_bbox,
36 const MultiArray<1,Eagle::PhysicalSpace::point>& pointcloud,
37 const RefPtr<Eagle::BoundingBox>& frag_bbox)
41 for (
unsigned i = 0; i < polygon_indices.nElements(); i++)
42 clipping[i] = polygonClipping(polygon_coords, polygon_indices[i], frag_bbox);
44const unsigned size = pointcloud.nElements();
50#pragma omp parallel for schedule(dynamic, 50000)
52 for (
unsigned i = 0; i <
size; i++)
58 if (v.size() < 3)
continue;
60 int value = pointInPolygon(p,v);
64 part_of_polygon[i] =
true;
78 if (
std::count(part_of_polygon.begin(), part_of_polygon.end(),
true) > 0)
83#pragma omp parallel for schedule(dynamic, 50000)
85 for (
unsigned i = 0; i <
size; i++)
87 if (!part_of_polygon[i])
continue;
93 if (line.size() < 3)
continue;
95 if (pointInPolygon(p,polygon_coords,line) >= 0)
valarray< size_t > size() const
constexpr iterator_traits< _InputIterator >::difference_type count(_InputIterator __first, _InputIterator __last, const _Tp &__value)
Field Inversion.
Definition Inverse.cpp:96
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
RefPtr< Chunk< bool > > computeIndicesSelectionByShape(const std::vector< Eagle::PhysicalSpace::point > &polygon_coords, const std::vector< LineSet::LineIndices_t > &polygon_indices, const std::vector< Eagle::PhysicalSpace::point > &pointcloud, const RefPtr< Eagle::BoundingBox > &frag_bbox)
Definition Selection.cpp:120