48 std::size_t TDimension,
51 class TPointerType =
typename TContainerType::value_type,
52 class TIteratorType =
typename TContainerType::iterator,
53 class TDistanceIteratorType =
typename std::vector<double>::iterator,
56 class Bucket :
public TreeNode<TDimension,TPointType,TPointerType,TIteratorType,TDistanceIteratorType>
104 : mPointsBegin(PointsBegin), mPointsEnd(PointsEnd)
134 if(mPointsBegin == mPointsEnd)
147 if(mPointsBegin == mPointsEnd)
149 SearchRadiusInRange()(mPointsBegin,mPointsEnd,ThisPoint,Radius2,Results,ResultsDistances,NumberOfResults,MaxNumberOfResults);
155 SearchInRadius(ThisPoint,Radius,Radius2,Results,ResultsDistances,NumberOfResults,MaxNumberOfResults);
162 if(mPointsBegin == mPointsEnd)
164 SearchRadiusInRange()(mPointsBegin,mPointsEnd,ThisPoint,Radius2,Results,NumberOfResults,MaxNumberOfResults);
170 SearchInRadius(ThisPoint,Radius,Radius2,Results,NumberOfResults,MaxNumberOfResults);
174 SizeType const& MaxNumberOfResults )
override
176 SearchBoxInRange()(SearchMinPoint,SearchMaxPoint,mPointsBegin,mPointsEnd,Results,NumberOfResults,MaxNumberOfResults);
195 virtual std::string
Info()
const
203 rOStream <<
"Bucket";
207 void PrintData(std::ostream& rOStream, std::string
const& Perfix = std::string())
const override
211 rOStream << **
i <<
" ";
212 rOStream << std::endl;
327 std::size_t TDimension,
329 class TContainerType,
332 class TDistanceIteratorType,
333 class TDistanceFunction >
339 std::size_t TDimension,
341 class TContainerType,
344 class TDistanceIteratorType,
345 class TDistanceFunction >
350 rOStream << std::endl;
Short class definition.
Definition: bucket.h:57
TPointerType PointerType
Definition: bucket.h:75
Bucket()
Default constructor.
Definition: bucket.h:99
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
Definition: bucket.h:144
BaseType::CoordinateType CoordinateType
Definition: bucket.h:83
void SearchInBox(PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
Definition: bucket.h:173
TIteratorType IteratorType
Definition: bucket.h:71
virtual std::string Info() const
Turn back information as a string.
Definition: bucket.h:195
void SearchNearestPoint(PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance) override
Definition: bucket.h:132
Kratos::SearchUtils::SearchRadiusInRange< PointType, IteratorType, DistanceIteratorType, DistanceFunction, SizeType, CoordinateType > SearchRadiusInRange
Definition: bucket.h:90
Kratos::SearchUtils::SearchNearestInRange< PointType, PointerType, IteratorType, DistanceFunction, CoordinateType > SearchNearestInRange
Definition: bucket.h:89
BaseType::SearchStructureType SearchStructureType
Definition: bucket.h:87
BaseType::IndexType IndexType
Definition: bucket.h:81
IteratorType Begin()
Definition: bucket.h:122
TDistanceFunction DistanceFunction
Definition: bucket.h:77
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
Definition: bucket.h:159
TDistanceIteratorType DistanceIteratorType
Definition: bucket.h:73
void SearchNearestPoint(PointType const &ThisPoint, PointerType &Result, CoordinateType &ResultDistance, SearchStructureType &Auxiliar) override
Definition: bucket.h:139
KRATOS_CLASS_POINTER_DEFINITION(Bucket)
Pointer definition of Bucket.
TreeNode< TDimension, TPointType, TPointerType, TIteratorType, TDistanceIteratorType > BaseType
Definition: bucket.h:65
Bucket(IteratorType PointsBegin, IteratorType PointsEnd)
Definition: bucket.h:103
BaseType::SizeType SizeType
Definition: bucket.h:79
Kratos::SearchUtils::SearchBoxInRange< PointType, IteratorType, SizeType, TDimension > SearchBoxInRange
Definition: bucket.h:91
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar) override
Definition: bucket.h:152
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: bucket.h:201
IteratorType End()
Definition: bucket.h:127
TContainerType ContainerType
Definition: bucket.h:69
TPointType PointType
Definition: bucket.h:67
@ Dimension
Definition: bucket.h:85
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar) override
Definition: bucket.h:167
void PrintData(std::ostream &rOStream, std::string const &Perfix=std::string()) const override
Print object's data.
Definition: bucket.h:207
virtual ~Bucket()
Destructor.
Definition: bucket.h:108
Definition: search_structure.h:309
Definition: search_structure.h:142
Definition: search_structure.h:160
Definition: search_structure.h:194
Definition: search_structure.h:109
Short class definition.
Definition: tree.h:61
static IteratorType & NullIterator()
Definition: tree.h:147
double CoordinateType
Define CoordinateType as double.
Definition: tree.h:76
std::size_t IndexType
Define IndexType as std::size_t.
Definition: tree.h:73
std::size_t SizeType
Define SizeType as std::size_t.
Definition: tree.h:70
std::size_t PointerDistance(TPointerType const &PointerBegin, TPointerType const &PointerEnd)
Definition: search_structure.h:91
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
integer i
Definition: TensorModule.f:17
Configure::IteratorType IteratorType
Definition: transfer_utility.h:249