Ponca  03745f3c84c0c8d40cec269af63efe7d3cf77f30
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::StaticNeighborGraphBase< _Traits > Class Template Reference

Static generic neighbor graph (does not include build functions) More...

#include <neighborGraph.h>

+ Inheritance diagram for Ponca::StaticNeighborGraphBase< _Traits >:
+ Collaboration diagram for Ponca::StaticNeighborGraphBase< _Traits >:

Public Types

using Traits = _Traits
 Alias to the Traits type

 
using DataPoint = typename Traits::DataPoint
 DataPoint given by user via Traits

 
using Scalar = typename DataPoint::Scalar
 Scalar given by user via DataPoint

 
using VectorType = typename DataPoint::VectorType
 VectorType given by user via DataPoint

 
using IndexType = typename Traits::IndexType
 Type used to index points into the PointContainer.
 
using PointContainer = typename Traits::PointContainer
 Container for DataPoint used inside the KdTree

 
using PointContainerConstRef = typename Traits::PointContainerConstRef
 Container for DataPoint used inside the KdTree

 
using IndexContainer = typename Traits::IndexContainer
 Container for indices used inside the KdTree

 
using IndexContainerRef = typename Traits::IndexContainerRef
 Ref type to index container.
 
using Base = AbstractNeighborGraph< Traits, NeighborGraphBuffer, NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< Traits > >, NeighborGraphRangeQuery< StaticNeighborGraphBase< Traits > > >
 
using Buffers = typename Base::Buffers
 
- Public Types inherited from Ponca::AbstractNeighborGraph< _Traits, NeighborGraphBuffer, NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< _Traits > >, NeighborGraphRangeQuery< StaticNeighborGraphBase< _Traits > > >
using Traits = _Traits
 Alias to the Traits type

 
using DataPoint = typename Traits::DataPoint
 DataPoint given by user via Traits

 
using Scalar = typename DataPoint::Scalar
 Scalar given by user via DataPoint

 
using VectorType = typename DataPoint::VectorType
 VectorType given by user via DataPoint

 
using IndexType = typename Traits::IndexType
 Type used to index points into the PointContainer.
 
using PointContainer = typename Traits::PointContainer
 Container for DataPoint used inside the KdTree

 
using PointContainerConstRef = typename Traits::PointContainerConstRef
 Container for DataPoint used inside the KdTree

 
using IndexContainer = typename Traits::IndexContainer
 Container for indices used inside the KdTree

 
using IndexContainerRef = typename Traits::IndexContainerRef
 Ref type to index container.
 
using OneConnectedIndexQuery = NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< _Traits > >
 
using RangeIndexQuery = NeighborGraphRangeQuery< StaticNeighborGraphBase< _Traits > >
 
using Buffers = NeighborGraphBuffer< Traits >
 

Public Member Functions

 StaticNeighborGraphBase (const Buffers &_bufs)
 
int k (int vId=0) const
 [Neighbor Graph Accessors]
 
int beginId (int vId) const
 Index of the beginning of the neighborhood range (see storing convention in NeighborGraphBuffer)
 
int endId (int vId) const
 Index of the end of the neighborhood range (see storing convention in NeighborGraphBuffer)
 
- Public Member Functions inherited from Ponca::AbstractNeighborGraph< _Traits, NeighborGraphBuffer, NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< _Traits > >, NeighborGraphRangeQuery< StaticNeighborGraphBase< _Traits > > >
 AbstractNeighborGraph (const Buffers &_bufs)
 Constructor that allows the use of prebuilt graph containers.
 
IndexType edgeCount () const
 Get the number of connection edges in the graph.
 
IndexType pointCount () const
 Get the number of points.
 
PointContainer points () const
 Get the internal point container.
 
IndexContainer edges () const
 Get the internal index container.
 
const Buffersbuffers () const
 Get access to the internal buffer, for instance to prepare GPU binding.
 
OneConnectedIndexQuery oneConnectedNeighbors (int index=0) const
 Provides a Query object to iterate over the vertices that are directly connected to the query point.
 
RangeIndexQuery rangeNeighbors (int index, Scalar r) const
 Provides a Query object to iterate over the neighbors that are inside a given radius.
 
RangeIndexQuery rangeNeighborsIndexQuery () const
 Convenience function to return an empty mutable range query.
 

Friends

class NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< Traits > >
 This type must be equal to AbstractNeighborGraph::OneConnectedIndexQuery.
 
class NeighborGraphRangeQuery< StaticNeighborGraphBase< Traits > >
 This type must be equal to AbstractNeighborGraph::RangeIndexQuery.
 

Additional Inherited Members

- Protected Member Functions inherited from Ponca::AbstractNeighborGraph< _Traits, NeighborGraphBuffer, NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< _Traits > >, NeighborGraphRangeQuery< StaticNeighborGraphBase< _Traits > > >
const IndexTypegetIndexPtr () const
 Accessor used by friend classes (queries) to get const access to the indices whatever the buffer type.
 
IndexTypegetIndexPtr ()
 Accessor used by friend classes (queries) to get access to the indices whatever the buffer type.
 
- Protected Attributes inherited from Ponca::AbstractNeighborGraph< _Traits, NeighborGraphBuffer, NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< _Traits > >, NeighborGraphRangeQuery< StaticNeighborGraphBase< _Traits > > >
Buffers m_bufs
 Buffers used to store the KnnGraph.
 

Detailed Description

template<typename _Traits>
class Ponca::StaticNeighborGraphBase< _Traits >

Static generic neighbor graph (does not include build functions)

In this generic version, the graph holds an index container that stores the begin/end indices of each point's neighborhood

Template Parameters
_TraitsTraits type providing the types and constants used by the neighbor graph. Must have the same interface as the default traits type (e.g., NeighborGraphDefaultTraits or NeighborGraphPointerTraits).

Definition at line 53 of file neighborGraph.h.

Member Typedef Documentation

◆ Base

◆ Buffers

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::Buffers = typename Base::Buffers

Definition at line 69 of file neighborGraph.h.

◆ DataPoint

DataPoint given by user via Traits

Definition at line 59 of file neighborGraph.h.

◆ IndexContainer

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::IndexContainer = typename Traits::IndexContainer

Container for indices used inside the KdTree

Definition at line 59 of file neighborGraph.h.

◆ IndexContainerRef

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::IndexContainerRef = typename Traits::IndexContainerRef

Ref type to index container.

Definition at line 59 of file neighborGraph.h.

◆ IndexType

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::IndexType = typename Traits::IndexType

Type used to index points into the PointContainer.

Definition at line 59 of file neighborGraph.h.

◆ PointContainer

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::PointContainer = typename Traits::PointContainer

Container for DataPoint used inside the KdTree

Definition at line 59 of file neighborGraph.h.

◆ PointContainerConstRef

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::PointContainerConstRef = typename Traits::PointContainerConstRef

Container for DataPoint used inside the KdTree

Definition at line 59 of file neighborGraph.h.

◆ Scalar

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::Scalar = typename DataPoint::Scalar

Scalar given by user via DataPoint

Definition at line 59 of file neighborGraph.h.

◆ Traits

Alias to the Traits type

Definition at line 59 of file neighborGraph.h.

◆ VectorType

template<typename _Traits >
using Ponca::StaticNeighborGraphBase< _Traits >::VectorType = typename DataPoint::VectorType

VectorType given by user via DataPoint

Definition at line 59 of file neighborGraph.h.

Constructor & Destructor Documentation

◆ StaticNeighborGraphBase()

template<typename _Traits >
Ponca::StaticNeighborGraphBase< _Traits >::StaticNeighborGraphBase ( const Buffers &  _bufs)
inline

Definition at line 71 of file neighborGraph.h.

Member Function Documentation

◆ beginId()

template<typename _Traits >
int Ponca::StaticNeighborGraphBase< _Traits >::beginId ( int  vId) const
inline

Index of the beginning of the neighborhood range (see storing convention in NeighborGraphBuffer)

Definition at line 77 of file neighborGraph.h.

◆ endId()

template<typename _Traits >
int Ponca::StaticNeighborGraphBase< _Traits >::endId ( int  vId) const
inline

Index of the end of the neighborhood range (see storing convention in NeighborGraphBuffer)

Definition at line 79 of file neighborGraph.h.

◆ k()

template<typename _Traits >
int Ponca::StaticNeighborGraphBase< _Traits >::k ( int  vId = 0) const
inline

[Neighbor Graph Accessors]

Number of neighbor per vertex for a given element (see storing convention in NeighborGraphBuffer)

Definition at line 75 of file neighborGraph.h.

Friends And Related Symbol Documentation

◆ NeighborGraphOneConnectedQuery< StaticNeighborGraphBase< Traits > >

This type must be equal to AbstractNeighborGraph::OneConnectedIndexQuery.

See also
NeighborGraphKNearestQuery

Definition at line 34 of file neighborGraph.h.

◆ NeighborGraphRangeQuery< StaticNeighborGraphBase< Traits > >

This type must be equal to AbstractNeighborGraph::RangeIndexQuery.

See also
NeighborGraphRangeQuery

Definition at line 34 of file neighborGraph.h.