KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
A dynamic binning data structure template for organizing and querying points in multi-dimensional space. More...
#include <bins_dynamic.h>
Classes | |
struct | GetObjectType |
struct | GetObjectType< T, std::void_t< typename T::ObjectType > > |
Public Member Functions | |
Life Cycle | |
BinsDynamic () | |
Default constructor for BinsDynamic. More... | |
BinsDynamic (IteratorType const &PointBegin, IteratorType const &PointEnd, SizeType BucketSize=1) | |
Constructor for BinsDynamic with iterators and optional bucket size. More... | |
BinsDynamic (IteratorType const &PointBegin, IteratorType const &PointEnd, PointType const &MinPoint, PointType const &MaxPoint, SizeType BucketSize=1) | |
Constructor for BinsDynamic with iterators, min point, max point, and optional bucket size. More... | |
BinsDynamic (PointType const &MinPoint, PointType const &MaxPoint, SizeType BucketSize) | |
Constructor for BinsDynamic with min point, max point, and optional bucket size. More... | |
BinsDynamic (IteratorType const &PointBegin, IteratorType const &PointEnd, CoordinateType BoxSize, SizeType BucketSize=1) | |
Constructor for BinsDynamic with iterators, box size, and optional bucket size. More... | |
~BinsDynamic () override | |
Access | |
IteratorType | Begin () |
Get an iterator pointing to the beginning of the point data. More... | |
IteratorType | End () |
Get an iterator pointing to the end of the point data. More... | |
KRATOS_DEPRECATED CoordinateType | CellSize (SizeType const &iDim) |
Get the size of a cell in a specific dimension. More... | |
KRATOS_DEPRECATED SizeType | NumCell (SizeType const &iDim) |
Get the number of cells in a specific dimension. More... | |
CellContainerType & | GetCellContainer () |
Get the Cell Container object. More... | |
SizeArray & | GetDivisions () |
Get the Divisions object. More... | |
CoordinateArray & | GetCellSize () |
Get the Cell Size object. More... | |
PointType & | GetMinPoint () |
Get a reference to the low point of the bounding box. More... | |
PointType & | GetMaxPoint () |
Get a reference to the high point of the bounding box. More... | |
BoundingBox< PointType > & | GetBoundingBox () |
Get the bounding box. More... | |
Operations | |
void | CalculateBoundingBox () |
Calculate the bounding box of the tree node. More... | |
void | CalculateCellSize (const std::size_t ApproximatedSize) |
Calculates the cell size of the bins. More... | |
void | AssignCellSize (CoordinateType BoxSize) |
Assign a uniform cell size for all dimensions. More... | |
void | AllocateCellsContainer () |
Allocate memory for the cell container. More... | |
void | GenerateBins () |
Generate bins by assigning points to cells. More... | |
IndexType | CalculatePosition (CoordinateType const &ThisCoord, SizeType ThisDimension) |
Calculate the position of a coordinate in a specific dimension. More... | |
IndexType | CalculateIndex (PointType const &ThisPoint) |
Calculate the index of a point within the cell container. More... | |
IndexType | CalculateIndex (CellType const &ThisIndex) |
Calculate the index of a cell within the cell container. More... | |
CellType | CalculateCell (PointType const &ThisPoint) |
Calculate the cell index of a point. More... | |
CellType | CalculateCell (PointType const &ThisPoint, CoordinateType Radius) |
Calculate the cell index of a point with an added radius. More... | |
void | AddPoint (PointerType const &ThisPoint) |
Add a point to the appropriate cell. More... | |
PointerType | ExistPoint (PointerType const &ThisPoint, CoordinateType const Tolerance=static_cast< CoordinateType >(10.0 *DBL_EPSILON)) |
PointerType | SearchNearestPoint (PointType const &ThisPoint) |
PointerType | SearchNearestPoint (PointType const &ThisPoint, CoordinateType &ResultDistance) |
PointerType | SearchNearestPoint (PointType const &ThisPoint, CoordinateType &rResultDistance, SearchStructureType &Box) |
void | SearchNearestPoint (PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance) override |
void | SearchNearestPoint (PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Box) override |
void | SearchNearestPoint (PointType *const &ThisPoints, SizeType const &NumberOfPoints, IteratorType &Results, std::vector< CoordinateType > ResultsDistances) |
void | SearchNearestPointLocal (PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Box) |
SizeType | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, IteratorType Results, DistanceIteratorType ResultsDistances, SizeType const &MaxNumberOfResults) |
SizeType | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, IteratorType Results, DistanceIteratorType ResultsDistances, SizeType const &MaxNumberOfResults, SearchStructureType &Box) |
void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override |
void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Box) override |
void | SearchInRadius (PointerType const &ThisPoints, SizeType const &NumberOfPoints, CoordinateVectorType const &Radius, IteratorVectorType Results, DistanceIteratorVectorType ResultsDistances, std::vector< SizeType > &NumberOfResults, SizeType const &MaxNumberOfResults) |
void | SearchInRadiusLocal (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 1 > &Box) |
void | SearchInRadiusLocal (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 2 > &Box) |
void | SearchInRadiusLocal (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 3 > &Box) |
SizeType | SearchInRadius (PointType const &ThisPoint, CoordinateType Radius, IteratorType Results, SizeType MaxNumberOfResults) |
SizeType | SearchInRadius (PointType const &ThisPoint, CoordinateType Radius, IteratorType Results, SizeType MaxNumberOfResults, SearchStructureType &Box) |
void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override |
void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Box) override |
void | SearchInRadiusLocal (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 1 > &Box) |
void | SearchInRadiusLocal (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 2 > &Box) |
void | SearchInRadiusLocal (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 3 > &Box) |
void | SearchNearestInBox (PointType const &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 1 > &Box, bool &Found) |
void | SearchNearestInBox (PointType const &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 2 > &Box, bool &Found) |
void | SearchNearestInBox (PointType const &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 3 > &Box, bool &Found) |
SizeType | SearchInBox (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType Results, SizeType MaxNumberOfResults) |
void | SearchInBox (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override |
void | SearchInBoxLocal (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &ResultsPoint, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 1 > &Box) |
void | SearchInBoxLocal (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &ResultsPoint, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 2 > &Box) |
void | SearchInBoxLocal (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &ResultsPoint, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 3 > &Box) |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream, std::string const &Perfix=std::string()) const override |
Print object's data. More... | |
void | PrintSize (std::ostream &rout) |
Print Size of Container. More... | |
void | PrintBox (std::ostream &rout) |
Print Limits Points of the Container. More... | |
BinsDynamic & | operator= (BinsDynamic const &rOther) |
Assignment operator. More... | |
BinsDynamic (BinsDynamic const &rOther) | |
Copy constructor. More... | |
Public Member Functions inherited from Kratos::TreeNode< TDimension, TPointType, typename TContainerType::value_type, typename TContainerType::iterator, typename std::vector< double >::iterator, std::vector< typename TContainerType::value_type >::iterator > | |
KRATOS_CLASS_POINTER_DEFINITION (TreeNode) | |
Pointer definition of TreeNode. More... | |
TreeNode () | |
virtual | ~TreeNode () |
virtual void | SearchNearestPoint (PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance) |
virtual void | SearchNearestPoint (PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Auxiliar) |
virtual void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) |
virtual void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar) |
virtual void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) |
virtual void | SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar) |
virtual void | SearchInBox (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) |
Static Public Member Functions | |
static TreeNodeType * | Construct (IteratorType PointsBegin, IteratorType PointsEnd, PointType MaxPoint, PointType MinPoint, SizeType BucketSize) |
Bins Access Vector ( vector<Iterator> ) More... | |
Static Public Member Functions inherited from Kratos::TreeNode< TDimension, TPointType, typename TContainerType::value_type, typename TContainerType::iterator, typename std::vector< double >::iterator, std::vector< typename TContainerType::value_type >::iterator > | |
static IteratorType & | NullIterator () |
static PointerType & | NullPointer () |
static TreeNode & | NullLeaf () |
Additional Inherited Members | |
Public Types inherited from Kratos::TreeNode< TDimension, TPointType, typename TContainerType::value_type, typename TContainerType::iterator, typename std::vector< double >::iterator, std::vector< typename TContainerType::value_type >::iterator > | |
using | SizeType = std::size_t |
Define SizeType as std::size_t. More... | |
using | IndexType = std::size_t |
Define IndexType as std::size_t. More... | |
using | CoordinateType = double |
Define CoordinateType as double. More... | |
using | PointType = TPointType |
Define PointType as TPointType. More... | |
using | PointerType = typename TContainerType::value_type |
Define PointerType as TPointerType. More... | |
using | IteratorType = typename TContainerType::iterator |
Define IteratorType as TIteratorType. More... | |
using | DistanceIteratorType = typename std::vector< double >::iterator |
Define DistanceIteratorType as TDistanceIteratorType. More... | |
using | TreeNodeType = TreeNode< TDimension, TPointType, typename TContainerType::value_type, typename TContainerType::iterator, typename std::vector< double >::iterator > |
Define TreeNodeType as a TreeNode type with the given template arguments. More... | |
using | IteratorIteratorType = typename std::vector< IteratorType >::iterator |
Define IteratorIteratorType as an iterator type for a vector of IteratorType. More... | |
using | SearchStructureType = SearchStructure< IndexType, SizeType, CoordinateType, typename TContainerType::iterator, IteratorIteratorType, TDimension > |
Define SearchStructureType as a SearchStructure type with the given template arguments. More... | |
A dynamic binning data structure template for organizing and querying points in multi-dimensional space.
The BinsDynamic
class template provides a dynamic binning data structure for organizing and querying points in a multi-dimensional space. It is parameterized by the dimension of the space, the point type, the container type for storing points, and other optional template parameters for specifying point iterators, distance iterators, and distance functions. This class inherits from TreeNode
to leverage common functionalities for tree-based data structures.
TDimension | The dimensionality of the space. |
TPointType | The type representing points in the space. |
TContainerType | The container type for storing points. |
TPointerType | The type of pointers or iterators to points in the container (default is inferred from TContainerType ). |
TIteratorType | The type of iterators for traversing the container (default is inferred from TContainerType ). |
TDistanceIteratorType | The type of iterators for storing distance values (default is std::vector<double>::iterator ). |
TDistanceFunction | The type of the distance function used for querying (default is Kratos::SearchUtils::SquaredDistanceFunction ). |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::BoundingBoxType = BoundingBox<PointType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::CellContainerType = std::vector<LocalContainerType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::CellType = Tvector<IndexType, Dimension> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::ContainerType = TContainerType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::CoordinateArray = Tvector<CoordinateType, Dimension> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::CoordinateType = typename TreeNodeType::CoordinateType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::CoordinateVectorType = std::vector<CoordinateType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::DistanceFunction = TDistanceFunction |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::DistanceIteratorType = TDistanceIteratorType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::DistanceIteratorVectorType = std::vector<DistanceIteratorType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::IndexArray = Tvector<IndexType, Dimension> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::IndexType = typename TreeNodeType::IndexType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::IteratorIteratorType = typename TreeNodeType::IteratorIteratorType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::IteratorType = TIteratorType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::IteratorVectorType = std::vector<IteratorType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::LeafType = TreeNodeType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::LocalContainerType = std::vector<PointerType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::LocalIterator = typename LocalContainerType::iterator |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::ObjectType = typename GetObjectType<PointType>::type |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::PointerType = TPointerType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::PointIterator = LocalIterator |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::PointType = TPointType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::PointVector = LocalContainerType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::SearchBoxInRange = Kratos::SearchUtils::SearchBoxInRange<PointType, LocalIterator, SizeType, Dimension, IteratorType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::SearchNearestInRange = Kratos::SearchUtils::SearchNearestInRange<PointType, PointerType, LocalIterator, DistanceFunction, CoordinateType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::SearchRadiusInRange = Kratos::SearchUtils::SearchRadiusInRange<PointType, LocalIterator, DistanceIteratorType, DistanceFunction, SizeType, CoordinateType, IteratorType> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::SearchStructureType = typename TreeNodeType::SearchStructureType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::SizeArray = Tvector<SizeType, Dimension> |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::SizeType = typename TreeNodeType::SizeType |
using Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::TreeNodeType = TreeNode<Dimension, TPointType, TPointerType, TIteratorType, TDistanceIteratorType> |
anonymous enum |
|
inline |
Default constructor for BinsDynamic.
This constructor initializes an empty BinsDynamic object with null iterators and sets the number of cells to 0.
|
inline |
Constructor for BinsDynamic with iterators and optional bucket size.
PointBegin | Iterator pointing to the beginning of the point data. |
PointEnd | Iterator pointing to the end of the point data. |
BucketSize | Optional parameter to specify the bucket size (default is 1). |
|
inline |
Constructor for BinsDynamic with iterators, min point, max point, and optional bucket size.
PointBegin | Iterator pointing to the beginning of the point data. |
PointEnd | Iterator pointing to the end of the point data. |
MinPoint | The minimum point of the bounding box. |
MaxPoint | The maximum point of the bounding box. |
BucketSize | Optional parameter to specify the bucket size (default is 1). |
|
inline |
Constructor for BinsDynamic with min point, max point, and optional bucket size.
MinPoint | The minimum point of the bounding box. |
MaxPoint | The maximum point of the bounding box. |
BucketSize | Optional parameter to specify the bucket size (default is 1). |
|
inline |
Constructor for BinsDynamic with iterators, box size, and optional bucket size.
PointBegin | Iterator pointing to the beginning of the point data. |
PointEnd | Iterator pointing to the end of the point data. |
BoxSize | The size of each cell in the bounding box. |
BucketSize | Optional parameter to specify the bucket size (default is 1). |
|
inlineoverride |
Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::BinsDynamic | ( | BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction > const & | rOther | ) |
Copy constructor.
|
inline |
Add a point to the appropriate cell.
This function adds a point to the cell corresponding to its position.
ThisPoint | The point to be added to the cell. |
|
inline |
Allocate memory for the cell container.
This function allocates memory for the cell container based on the computed number of cells in each dimension.
|
inline |
Assign a uniform cell size for all dimensions.
This function sets the cell size for all dimensions to the same value.
BoxSize | The size of each cell in all dimensions. |
|
inline |
Get an iterator pointing to the beginning of the point data.
|
inline |
Calculate the bounding box of the tree node.
This function calculates the bounding box of the tree node based on the points contained within it. The bounding box is represented by the minimum and maximum points in each dimension.
|
inline |
Calculate the cell index of a point.
This function calculates the cell index for a given point in each dimension.
ThisPoint | The point whose cell index is to be calculated. |
|
inline |
Calculate the cell index of a point with an added radius.
This function calculates the cell index for a given point with an added radius in each dimension.
ThisPoint | The point whose cell index is to be calculated. |
Radius | The radius added to each coordinate before calculating the cell index. |
|
inline |
Calculates the cell size of the bins.
Calculates the cell size of the bins using an average approximation of the objects in the bins.
ApproximatedSize | Approximate number of objects that will be stored in the bins |
|
inline |
Calculate the index of a cell within the cell container.
ThisIndex | The index of the cell in each dimension. |
|
inline |
Calculate the index of a point within the cell container.
ThisPoint | The point whose index is to be calculated. |
|
inline |
Calculate the position of a coordinate in a specific dimension.
ThisCoord | The coordinate whose position is to be calculated. |
ThisDimension | The dimension in which the coordinate is located. |
|
inline |
Get the size of a cell in a specific dimension.
iDim | The dimension for which to retrieve the cell size. |
|
inlinestatic |
Bins Access Vector ( vector<Iterator> )
|
inline |
Get an iterator pointing to the end of the point data.
|
inline |
|
inline |
Generate bins by assigning points to cells.
This function assigns points to cells based on their positions and populates the cell container with the points.
|
inline |
Get the bounding box.
This function creates a bounding box using the low and high points and returns it.
|
inline |
|
inline |
|
inline |
Get the Divisions object.
|
inline |
Get a reference to the high point of the bounding box.
|
inline |
Get a reference to the low point of the bounding box.
|
inlinevirtual |
Turn back information as a string.
Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::KRATOS_CLASS_POINTER_DEFINITION | ( | BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction > | ) |
Pointer definition of BinsDynamic.
|
inline |
Get the number of cells in a specific dimension.
iDim | The dimension for which to retrieve the number of cells. |
BinsDynamic& Kratos::BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction >::operator= | ( | BinsDynamic< TDimension, TPointType, TContainerType, TPointerType, TIteratorType, TDistanceIteratorType, TDistanceFunction > const & | rOther | ) |
Assignment operator.
|
inline |
Print Limits Points of the Container.
|
inlineoverridevirtual |
|
inlinevirtual |
Print information about this object.
|
inline |
Print Size of Container.
|
inlineoverride |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverride |
|
inlineoverride |
|
inline |