FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Fiber::RegularlyFragmentedClusteredPointCloudGrid Struct Reference

Grid type for a fragmented point cloud proving a cell look into presorted vertices. More...

#include <RegularlyFragmentedClusteredPointCloudGrid.hpp>

Inheritance diagram for Fiber::RegularlyFragmentedClusteredPointCloudGrid:
Fiber::FragmentedUniformGrid3DPoints Fiber::RegularlyFragmentedGridWithCartesianVertices< 3 > Fiber::RegularlyFragmentedGrid< VertexDims > Fiber::GridWithCartesianVertices Fiber::RegularlyFragmentedGridBase Fiber::TypedGrid Fiber::TypedGrid MemCore::StrongPtr< class Object, class ObjectBase > MemCore::StrongPtr< class Object, class ObjectBase > MemCore::WeakPtr< class Object, class ObjectBase > MemCore::WeakPtr< class Object, class ObjectBase > MemCore::DynPtr< class Object, class ObjectBase > MemCore::DynPtr< class Object, class ObjectBase >

Classes

struct  FragmentWorker
 Class which can be used, when working with one explicit fragment only, providing all required data arrays for the vertex cluster. More...
 

Public Types

typedef RefPtr< UniformCartesianArrayCellArray_t
 
typedef RefPtr< MemArray< 1, vc_index_t > > ClusterStartsArray_t
 
typedef RefPtr< MemArray< 1, vc_index_t > > ClusterArray_t
 
typedef std::map< vc_index_t, vc_index_tIndexMap_t
 
- Public Types inherited from Fiber::FragmentedUniformGrid3DPoints
typedef MemArray< 1, Eagle::PhysicalSpace::pointCoordsArray_t
 
- Public Types inherited from Fiber::RegularlyFragmentedGridWithCartesianVertices< 3 >
typedef MemArrayBase< VertexDimsCoordsArray_t
 
- Public Types inherited from Fiber::RegularlyFragmentedGrid< VertexDims >
typedef MemArray< VertexDims, RefPtr< FragmentID > > FragmentArray_t
 
- Public Types inherited from MemCore::StrongPtr< class Object, class ObjectBase >
typedef WeakPtr< Object, ObjectBase >::ObjectBase_t ObjectBase_t
 
- Public Types inherited from MemCore::WeakPtr< class Object, class ObjectBase >
typedef Object object_t
 
typedef ObjectBase ObjectBase_t
 
typedef RefPtrTypeTrait< Object, ObjectBase >::ReferencePointerType pointer_t
 
typedef RefPtrTypeTrait< Object, ObjectBase >::ReferenceValueType refvalue_t
 
- Public Types inherited from MemCore::DynPtr< class Object, class ObjectBase >
typedef Object object_t
 

Public Member Functions

 RegularlyFragmentedClusteredPointCloudGrid (const RefPtr< Grid > &G)
 
CellArray_t getCellArray (const MultiIndex< 3 > &frag) const
 
ClusterStartsArray_t getClusterStartsArray (const MultiIndex< 3 > &frag) const
 
ClusterArray_t getClusterLookUpArray (const MultiIndex< 3 > &frag) const
 
bool findFragment (const Eagle::PhysicalSpace::point &query_position, MultiIndex< 3 > &index) const
 Get the multindex of the regular fragment the point is located in.
 
bool findCell (const Eagle::PhysicalSpace::point &query_position, const MultiIndex< 3 > &frag_index, MultiIndex< 3 > &cell_index) const
 Get the cell index of the cell-cluster lookup in a given fragment.
 
bool findFragmentAndCell (const Eagle::PhysicalSpace::point &query_position, MultiIndex< 3 > &frag_index, MultiIndex< 3 > &cell_index) const
 Get the multindex of the regular fragment the point is located in and the cell index of the cell-cluster lookup.
 
RefPtr< Chunk< MultiIndex< 3 > > > findCellsManhatten (const Eagle::PhysicalSpace::point &query_position, double radius) const
 
RefPtr< Chunk< MultiIndex< 3 > > > findCells (const Eagle::PhysicalSpace::point &query_position, double radius)
 Get a chunk of cluster cells around the query point.
 
RefPtr< Chunk< MultiIndex< 3 > > > findCells (const Eagle::PhysicalSpace::point &query_position, double radius, const MultiIndex< 3 > &frag_index)
 Get a chunk of cluster cells around the query point in a given fragment.
 
RefPtr< Chunk< Eagle::PhysicalSpace::point > > findPoints (const Eagle::PhysicalSpace::point &query_position, double radius)
 Get a chunk of points around the qurey point.
 
RefPtr< Chunk< Eagle::PhysicalSpace::point > > findPoints (const Eagle::PhysicalSpace::point &query_position, double radius, const MultiIndex< 3 > &frag_index)
 Get a chunk of points around the qurey point.
 
- Public Member Functions inherited from Fiber::FragmentedUniformGrid3DPoints
 FragmentedUniformGrid3DPoints (const RefPtr< Grid > &grid)
 
RefPtr< CoordsArray_tgetCoords (const MultiIndex< 3 > &I) const
 Get the coordinates for the given fragment via its fragment index.
 
bool isValid () const
 
- Public Member Functions inherited from Fiber::RegularlyFragmentedGridWithCartesianVertices< 3 >
RefPtr< CreativeArrayBasegetCoordCreator (const MultiIndex< VertexDims > &I) const
 
RefPtr< MemBasegetCoordData (const MultiIndex< VertexDims > &I) const
 
RefPtr< CoordsArray_tgetCoords (const MultiIndex< VertexDims > &I) const
 
RefPtr< RegularlyFragmentedField< VertexDims > > newVertexField (const char *Fieldname)
 Create a new regularly fragmented field on the vertices under the given name, overwriting an existing field.
 
RefPtr< RegularlyFragmentedField< VertexDims > > getVertexField (const char *Fieldname)
 Find a new regularly fragmented field on the vertices under the given name, creating a new one if not found.
 
MultiIndex< VertexDimsNumberOfFragments () const
 Get the number of fragments here as multi-dimensional index.
 
bool isValid () const
 
 RegularlyFragmentedGridWithCartesianVertices (const RefPtr< Grid > &theGrid)
 
bool assign (const RefPtr< Grid > &theGrid)
 
- Public Member Functions inherited from Fiber::RegularlyFragmentedGrid< VertexDims >
MultiIndex< VertexDimsNumberOfFragments () const
 Get the number of fragments here as multi-dimensional index.
 
RefPtr< FragmentIDgetFragmentID (const MultiIndex< VertexDims > &FragmentIndex) const
 Get the fragment ID for the given fragment index.
 
 RegularlyFragmentedGrid (const RefPtr< Grid > &G=nullptr)
 
bool assign (const RefPtr< Grid > &theGrid)
 
- Public Member Functions inherited from Fiber::RegularlyFragmentedGridBase
bool assign (const RefPtr< Grid > &theGrid)
 
- Public Member Functions inherited from Fiber::TypedGrid
bool assign (const RefPtr< Grid > &theGrid)
 
bool invalidate ()
 Invalidate the stored Grid pointer and return false.
 
- Public Member Functions inherited from MemCore::StrongPtr< class Object, class ObjectBase >
StrongPtrassignStrong (const DynPtr_t &other)
 
StrongPtrassignStrong (const ReferenceBase< ObjectBase_t > *Obj)
 
StrongPtrassignStrong (const std::nullptr_t &)
 
auto operator() (Arguments...parameters) const -> decltype((*this->getPtrValue())(parameters...))
 
refvalue_toperator* () const
 
pointer_t operator-> () const
 
StrongPtroperator= (const DynPtr_t &other)
 
StrongPtroperator= (const ReferenceBase< ObjectBase_t > *Obj)
 
StrongPtroperator= (const std::initializer_list< StrongPtr > &other)
 
StrongPtroperator= (const std::nullptr_t &)
 
StrongPtroperator= (const StrongPtr &other)
 
auto operator[] (const IndexType &I) const -> decltype((*this->getPtrValue())[I])
 
 StrongPtr (const ReferenceBase< ObjectBase_t > *Obj)
 
 StrongPtr (const ReferenceBase< ObjectBase_t > *Obj, const NotNullPtr &)
 
 StrongPtr (const std::nullptr_t &)
 
 StrongPtr (const StrongPtr< ChildObject, ObjectBase > &Other)
 
 StrongPtr (const StrongPtr< Object, ObjectBase > &Other)
 
 StrongPtr (const WeakPtr< ChildObject, ObjectBase_t > &Other)
 
- Public Member Functions inherited from MemCore::WeakPtr< class Object, class ObjectBase >
pointer_t getPtrValue () const
 
pointer_t operator-> () const
 
refvalue_toperator* () const
 
size_t operator~ () const
 
 WeakPtr (const std::nullptr_t &)
 
 WeakPtr (const ReferenceBase< ObjectBase > *Obj)
 
 WeakPtr (const ReferenceBase< ObjectBase > *Obj, const NotNullPtr &)
 
 WeakPtr (const WeakPtr< AnyObject, ObjectBase > &Other)
 
 WeakPtr (const WeakPtr &Other)
 
WeakPtrassignWeak (const WeakPtr &other)
 
WeakPtroperator= (const WeakPtr &other)
 
- Public Member Functions inherited from MemCore::DynPtr< class Object, class ObjectBase >
const DynPtrgetDynPtr () const noexcept
 
const type_info & getType () const noexcept
 
bool isAssignable (const DynPtr< ObjectBase, ObjectBase > &Other) const noexcept
 
 operator void * () const noexcept
 
bool operator! () const noexcept
 
void speak (const char *s, const char *prefix="") const noexcept
 
void Speak (const char *s, const char *prefix="") const
 
- Public Member Functions inherited from Fiber::GridWithCartesianVertices
 GridWithCartesianVertices (const RefPtr< Grid > &theGrid=nullptr)
 
bool assign (const RefPtr< Grid > &theGrid)
 
bool isValid () const
 

Static Public Member Functions

static SkeletonID ClusterCellID ()
 
static SkeletonID ClusterLookUpID ()
 
static int getCellsWherePointIsInGhostZone (const MultiIndex< 3 > &current, const MultiIndex< 3 > &max_cells, const Eagle::PhysicalSpace::point &pos, const Eagle::PhysicalSpace::point &t_min, const Eagle::PhysicalSpace::tvector &t_diag, double ghost_r, Eagle::FixedArray< MultiIndex< 3 >, 7 > &cells)
 
static bool create (RefPtr< Grid > &RegularGrid, const RefPtr< RegularlyFragmentedField< 3 > > &CellPositions, const RefPtr< RegularlyFragmentedField< 3 > > &ClusterAsPointsPositions, const RefPtr< RegularlyFragmentedField< 3 > > &ClusterAsCellPositions)
 
static bool create (RefPtr< Grid > &grid, const MultiIndex< 3 > &fragment_resolution, const RefPtr< Eagle::BoundingBox > &bb)
 
- Static Public Member Functions inherited from Fiber::FragmentedUniformGrid3DPoints
static FragmentedUniformGrid3DPoints create (Grid &grid, const MultiIndex< 3 > &nr_fragments, const Eagle::point3 &start, const Eagle::point3 &end)
 Create a fragmented uniform grid in cartesian coordinates within the given bounding box as specified by the two points.
 
static FragmentedUniformGrid3DPoints create (Grid &grid, const MultiIndex< 3 > &nr_fragments, const Eagle::BoundingBox &bb)
 
- Static Public Member Functions inherited from Fiber::RegularlyFragmentedGridWithCartesianVertices< 3 >
static RegularlyFragmentedGridWithCartesianVertices create (Grid &myGrid, const MultiIndex< VertexDims > &NumberOfFragments, bool NeedPerFragmentData=false)
 Create a regularly fragmented grid with cartesian vertices.
 
- Static Public Member Functions inherited from Fiber::RegularlyFragmentedGrid< VertexDims >
static SkeletonID FragmentSkeletonID (int IndexDepth=0, int RefLevel=0)
 
static SkeletonID ID ()
 
static SkeletonID FragmentSkeletonID (const SkeletonID &S)
 
static RegularlyFragmentedGrid create (Grid &myGrid, const RefPtr< RegularlyFragmentedField< VertexDims > > &VertexPositions, const SkeletonID &FragmentedSkeletonID)
 Create a fragment skeleton on the given Grid.
 
static RegularlyFragmentedGrid create (Grid &myGrid, const RefPtr< RegularlyFragmentedField< VertexDims > > &VertexPositions, const RefPtr< Skeleton > &Vertices)
 
static RegularlyFragmentedGrid create (Grid &myGrid, const RefPtr< RegularlyFragmentedField< VertexDims > > &VertexPositions)
 
static RegularlyFragmentedGrid createFragmentSkeleton (Grid &myGrid, const RefPtr< Skeleton > &Vertices, const RefPtr< RegularlyFragmentedField< VertexDims > > &VertexPositions, Skeleton &FragmentSkeleton)
 
static RegularlyFragmentedGrid createWithCartesianVertices (Grid &myGrid, const MultiIndex< VertexDims > &NumberOfFragments)
 
- Static Public Member Functions inherited from Fiber::RegularlyFragmentedGridBase
static SkeletonID FragmentVerticesSkeletonID ()
 
static SkeletonID computeFragmentSkeletonID (const Field &F, const SkeletonID &SID)
 
static void create (Grid &myGrid)
 
- Static Public Member Functions inherited from MemCore::DynPtr< class Object, class ObjectBase >
static const DynPtrgetNullPtr () noexcept
 
- Static Public Member Functions inherited from Fiber::GridWithCartesianVertices
static GridWithCartesianVertices create (Grid &myGrid, int Dims, const RefPtr< Field > &Positions)
 

Public Attributes

RefPtr< SkeletonCell
 
RefPtr< SkeletonCluster
 
RefPtr< RepresentationCellsAsCartesian
 
RefPtr< RepresentationClusterAsPoints
 
RefPtr< RepresentationClusterAsCells
 
RefPtr< RegularlyFragmentedField< 3 > > CellPositions
 
RefPtr< RegularlyFragmentedField< 3 > > ClusterAsPointsPositions
 
RefPtr< RegularlyFragmentedField< 3 > > ClusterAsCellPositions
 
- Public Attributes inherited from Fiber::FragmentedUniformGrid3DPoints
RefPtr< UniformCartesianArrayFragmentCoordinates
 The coordinates, i.e. corner points, of each fragment.
 
- Public Attributes inherited from Fiber::RegularlyFragmentedGridWithCartesianVertices< 3 >
RefPtr< RepresentationFragmentVerticesInCartesianCoordinates
 Collection of fields that are defined per fragment vertex in cartesian coordinates.
 
RefPtr< RepresentationPerFragmentDataInCartesianCoordinates
 Collection of fields that are defined per fragment in cartesian coordinates.
 
RefPtr< RegularlyFragmentedField< VertexDims > > Positions
 Field for the vertex coordinates.
 
- Public Attributes inherited from Fiber::RegularlyFragmentedGrid< VertexDims >
RefPtr< SkeletonFragmentSkeleton
 
RefPtr< RepresentationFragmentsAsVertices
 Fields per fragment providing coordinate-independent information.
 
RefPtr< FragmentArray_tFragmentArray
 
- Public Attributes inherited from Fiber::RegularlyFragmentedGridBase
RefPtr< SkeletonFragmentVerticesSkeleton
 The Skeleton containing the vertices of fragments, i.e.
 
- Public Attributes inherited from Fiber::GridWithCartesianVertices
RefPtr< SkeletonVertices
 
RefPtr< RepresentationCartesianVertices
 Collection of all fields given on vertices relative to cartesian coordinates.
 
RefPtr< FieldCartesianPositions
 

Additional Inherited Members

- Static Public Attributes inherited from Fiber::RegularlyFragmentedGrid< VertexDims >
static constexpr int Dims = VertexDims
 
- Protected Member Functions inherited from MemCore::WeakPtr< class Object, class ObjectBase >
 WeakPtr (Object *that, const SelfInitialize &)
 
- Protected Member Functions inherited from MemCore::DynPtr< class Object, class ObjectBase >
 DynPtr (const DynPtr< AnyObject, ObjectBase > &Other) noexcept
 
 DynPtr (const std::nullptr_t &) noexcept
 

Detailed Description

Grid type for a fragmented point cloud proving a cell look into presorted vertices.

Author
: marcel

Member Function Documentation

◆ findCell()

bool Fiber::RegularlyFragmentedClusteredPointCloudGrid::findCell ( const Eagle::PhysicalSpace::point query_position,
const MultiIndex< 3 > &  frag_index,
MultiIndex< 3 > &  cell_index 
) const

Get the cell index of the cell-cluster lookup in a given fragment.

Returns
false if outside, true if inside the corresponding indices

Referenced by findFragmentAndCell().

◆ findFragment()

bool Fiber::RegularlyFragmentedClusteredPointCloudGrid::findFragment ( const Eagle::PhysicalSpace::point query_position,
MultiIndex< 3 > &  index 
) const

Get the multindex of the regular fragment the point is located in.

Returns
false if outside, true if inside the corresponding index

Referenced by findFragmentAndCell().

◆ findFragmentAndCell()

bool Fiber::RegularlyFragmentedClusteredPointCloudGrid::findFragmentAndCell ( const Eagle::PhysicalSpace::point query_position,
MultiIndex< 3 > &  frag_index,
MultiIndex< 3 > &  cell_index 
) const

Get the multindex of the regular fragment the point is located in and the cell index of the cell-cluster lookup.

Returns
false if outside, true if inside the corresponding indices

References findCell(), and findFragment().