27 template< std::size_t TDimension,
30 class TPointerType =
typename TContainerType::value_type,
31 class TIteratorType =
typename TContainerType::iterator,
32 class TDistanceIteratorType =
typename std::vector<double>::iterator,
34 class Bins :
public TreeNode<TDimension,TPointType, TPointerType, TIteratorType, TDistanceIteratorType>
103 : mPointBegin(PointBegin), mPointEnd(PointEnd)
105 auto NumPoints = std::distance(mPointBegin, mPointEnd);
107 if(mPointBegin==mPointEnd)
110 CalculateBoundingBox();
111 CalculateCellSize(NumPoints);
112 AllocateCellsContainer();
126 : mPointBegin(PointBegin), mPointEnd(PointEnd)
128 auto NumPoints = std::distance(mPointBegin, mPointEnd);
130 if(mPointBegin==mPointEnd)
135 mMinPoint[
i] = MinPoint[
i];
136 mMaxPoint[
i] = MaxPoint[
i];
139 CalculateCellSize(NumPoints);
140 AllocateCellsContainer();
155 : mPointBegin(PointBegin), mPointEnd(PointEnd)
157 if(mPointBegin==mPointEnd)
160 CalculateBoundingBox();
161 AssignCellSize(cellsize);
162 AllocateCellsContainer();
187 return mCellSize[iDim];
235 void CalculateBoundingBox()
239 mMinPoint[
i] = (**mPointBegin)[
i];
240 mMaxPoint[
i] = (**mPointBegin)[
i];
242 for(
IteratorType Point = mPointBegin ; Point != mPointEnd ; Point++)
245 if( (**Point)[
i] < mMinPoint[
i] ) mMinPoint[
i] = (**Point)[
i];
246 if( (**Point)[
i] > mMaxPoint[
i] ) mMaxPoint[
i] = (**Point)[
i];
257 void CalculateCellSize(std::size_t ApproximatedSize)
259 std::size_t average_number_of_cells =
static_cast<std::size_t
>(std::pow(
static_cast<double>(ApproximatedSize), 1.00 /
Dimension));
261 std::array<double, 3> lengths;
262 double average_length = 0.00;
265 lengths[
i] = mMaxPoint[
i] - mMinPoint[
i];
266 average_length += lengths[
i];
268 average_length *= 1.00 / 3.00;
270 if (average_length < std::numeric_limits<double>::epsilon()) {
278 mN[
i] =
static_cast<std::size_t
>(lengths[
i] / average_length * (
double)average_number_of_cells) + 1;
281 mCellSize[
i] = lengths[
i] / mN[
i];
283 mCellSize[
i] = average_length;
286 mInvCellSize[
i] = 1.00 / mCellSize[
i];
296 mCellSize[
i] = BoxSize;
297 mInvCellSize[
i] = 1.00 / mCellSize[
i];
298 mN[
i] =
static_cast<SizeType>( (mMaxPoint[
i]-mMinPoint[
i]) / mCellSize[
i]) + 1;
304 void AllocateCellsContainer()
309 mIndexCell.resize(
Size+1);
310 mIndexCellBegin = mIndexCell.begin();
311 mIndexCellEnd = mIndexCell.end();
322 for(
IteratorIterator Iter = mIndexCell.begin(); Iter != mIndexCell.end(); Iter++)
326 for(
IteratorType Point = mPointBegin ; Point != mPointEnd ; Point++)
327 mIndexCell[ CalculateIndex(**Point) + 1 ]++;
332 for(
IteratorIterator Iter = mIndexCell.begin()+1 ; Iter != mIndexCell.end() ; Iter++)
339 for(
LocalIterator Point = TempPoint.begin() ; Point != TempPoint.end() ; Point++)
340 *(mIndexCell[CalculateIndex(**Point)]++) = *Point;
345 for(
IteratorIterator Iter = mIndexCell.end()-1; Iter != mIndexCell.begin(); Iter--)
347 mIndexCell[0] = mPointBegin;
355 CoordinateType d_index = (ThisCoord - mMinPoint[ThisDimension]) * mInvCellSize[ThisDimension];
357 return (index > mN[ThisDimension]-1) ? mN[ThisDimension]-1 : index;
365 for(
SizeType iDim = TDimension-1 ; iDim > 0 ; iDim--)
367 Index += CalculatePosition(ThisPoint[iDim],iDim);
370 Index += CalculatePosition(ThisPoint[0],0);
379 for(
SizeType iDim = TDimension-1 ; iDim > 0 ; iDim--)
381 Index += ThisIndex[iDim];
384 Index += ThisIndex[0];
394 Cell[
i] = CalculatePosition(ThisPoint[
i],
i);
402 Cell[
i] = CalculatePosition(ThisPoint[
i]+Radius,
i);
477 Box.
Set( CalculateCell(ThisPoint), mN, mIndexCellBegin );
497 Box.
Set( CalculateCell(ThisPoint), mN, mIndexCellBegin );
507 { Results[iPoint] =
SearchNearestPoint((&(*ThisPoints))[iPoint],ResultsDistances[iPoint]); }
517 if( mPointBegin == mPointEnd )
541 if( mPointBegin == mPointEnd )
566 SearchStructureType Box( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
567 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, ResultsDistances, NumberOfResults, MaxNumberOfResults, Box );
568 return NumberOfResults;
578 Box.
Set( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
579 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, ResultsDistances, NumberOfResults, MaxNumberOfResults, Box );
580 return NumberOfResults;
588 SearchStructureType Box( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
589 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, ResultsDistances, NumberOfResults, MaxNumberOfResults, Box);
597 Box.
Set( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
598 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, ResultsDistances, NumberOfResults, MaxNumberOfResults, Box);
604 std::vector<DistanceIteratorType> ResultsDistances, std::vector<SizeType>& NumberOfResults,
SizeType const& MaxNumberOfResults )
608 { NumberOfResults[iPoint] =
SearchInRadius((&(*ThisPoints))[iPoint],Radius[iPoint],Results[iPoint],ResultsDistances[iPoint],MaxNumberOfResults); }
650 SearchStructureType Box( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
651 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, NumberOfResults, MaxNumberOfResults, Box );
652 return NumberOfResults;
662 Box.
Set( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
663 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, NumberOfResults, MaxNumberOfResults, Box );
664 return NumberOfResults;
672 SearchStructureType Box( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
673 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, NumberOfResults, MaxNumberOfResults, Box );
681 Box.
Set( CalculateCell(ThisPoint,-Radius), CalculateCell(ThisPoint,Radius), mN, mIndexCellBegin );
682 SearchInRadiusLocal( ThisPoint, Radius, Radius2, Results, NumberOfResults, MaxNumberOfResults, Box );
783 NewDistance = TDistanceFunction()(**
Point,*ThisPoint);
784 if( NewDistance < Distance && *
Point != ThisPoint)
787 Distance = NewDistance;
800 SearchStructureType Box( CalculateCell(SearchMinPoint), CalculateCell(SearchMaxPoint), mN, mIndexCellBegin );
801 SearchInBoxLocal( SearchMinPoint, SearchMaxPoint, Results, NumberOfResults, MaxNumberOfResults, Box );
802 return NumberOfResults;
808 SizeType const& MaxNumberOfResults )
override
811 SearchStructureType Box( CalculateCell(SearchMinPoint), CalculateCell(SearchMaxPoint), mN, mIndexCellBegin );
812 SearchInBoxLocal( SearchMinPoint, SearchMaxPoint, Results, NumberOfResults, MaxNumberOfResults, Box );
848 virtual std::string
Info()
const
850 return "BinsContainer";
856 rOStream <<
"BinsContainer";
860 void PrintData(std::ostream& rOStream, std::string
const& Perfix = std::string())
const override
865 rOStream << Perfix <<
"[ " ;
866 for(
IteratorType i_point = *i_cell ; i_point != *(i_cell+1) ; i_point++)
867 rOStream << **i_point <<
" ";
868 rOStream <<
"]" << std::endl;
870 rOStream << std::endl;
876 rout <<
" BinsSize: ";
878 rout <<
"[" << mN[
i] <<
"]";
885 rout <<
" BinsBox: Min [";
886 mMinPoint.Print(rout);
888 mMaxPoint.Print(rout);
890 mCellSize.Print(rout);
891 rout <<
"]" << std::endl;
928 if (number_of_points == 0)
932 return new Bins( PointsBegin, PointsEnd, MinPoint, MaxPoint, BucketSize );
939 template< std::size_t TDimension,
class TPointType,
class TContainerType,
class TPointerType,
940 class TIteratorType,
class TDistanceIteratorType,
class TDistanceFunction >
944 rOStream << std::endl;
Definition: bins_static.h:35
void SearchNearestPointLocalInner(PointerType &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Box)
Definition: bins_static.h:539
static TreeNodeType * Construct(IteratorType PointsBegin, IteratorType PointsEnd, const PointType &MaxPoint, const PointType &MinPoint, SizeType BucketSize)
Definition: bins_static.h:925
SizeType SearchInRadius(PointType const &ThisPoint, CoordinateType Radius, IteratorType Results, SizeType MaxNumberOfResults)
Definition: bins_static.h:646
TreeNodeType::CoordinateType CoordinateType
Definition: bins_static.h:53
void SearchNearestPoint(PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Box) override
Definition: bins_static.h:493
SizeArray & GetDivisions()
Get the Divisions object.
Definition: bins_static.h:201
LocalContainerType::iterator LocalIterator
Definition: bins_static.h:66
IteratorType End()
Definition: bins_static.h:178
TreeNodeType::SizeType SizeType
Definition: bins_static.h:51
void PrintBox(std::ostream &rout)
Print Limits Points of the Container.
Definition: bins_static.h:883
PointerType SearchNearestPointInner(PointerType &ThisPoint)
Return the nearest point to ThisPoint. This function can not return the same point.
Definition: bins_static.h:436
void SearchInBoxLocal(PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &ResultsPoint, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 1 > &Box)
Definition: bins_static.h:818
IteratorVector::const_iterator IteratorConstIterator
Definition: bins_static.h:72
void SearchNearestInBox(PointType const &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 1 > &Box, bool &Found)
Definition: bins_static.h:718
TPointType PointType
Definition: bins_static.h:42
void SearchNearestInBox(PointType const &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 2 > &Box, bool &Found)
Definition: bins_static.h:726
Tvector< IndexType, Dimension > IndexArray
Definition: bins_static.h:57
void SearchNearestInBoxInner(PointerType &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 3 > &Box, bool &Found)
Definition: bins_static.h:765
KRATOS_CLASS_POINTER_DEFINITION(Bins)
Pointer definition of Bins.
CoordinateArray & GetCellSize()
Get the Cell Size object.
Definition: bins_static.h:209
Bins & operator=(Bins const &rOther)
Assignment operator.
Bins(Bins const &rOther)
Copy constructor.
PointerType SearchNearestPoint(PointType const &ThisPoint)
Return the nearest point to ThisPoint. This function can return the same point with distance 0.
Definition: bins_static.h:450
std::vector< PointerType > LocalContainerType
Definition: bins_static.h:65
TPointerType PointerType
Definition: bins_static.h:46
void SearchNearestInnerInRange(const IteratorType &RangeBegin, const IteratorType &RangeEnd, PointerType &ThisPoint, PointerType &Result, CoordinateType &Distance, bool &Found)
Definition: bins_static.h:777
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)
Definition: bins_static.h:705
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)
Definition: bins_static.h:696
void PrintData(std::ostream &rOStream, std::string const &Perfix=std::string()) const override
Print object's data.
Definition: bins_static.h:860
SizeType SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, IteratorType Results, DistanceIteratorType ResultsDistances, SizeType const &MaxNumberOfResults)
Definition: bins_static.h:561
LocalContainerType PointVector
Definition: bins_static.h:79
PointerType SearchNearestPoint(PointType const &ThisPoint, CoordinateType &rResultDistance)
Definition: bins_static.h:461
TreeNode< Dimension, PointType, PointerType, IteratorType, DistanceIteratorType > TreeNodeType
Definition: bins_static.h:49
void SearchNearestPoint(PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance) override
Definition: bins_static.h:485
void SearchInRadius(PointerType const &ThisPoints, SizeType const &NumberOfPoints, std::vector< CoordinateType > const &Radius, std::vector< IteratorType > Results, std::vector< DistanceIteratorType > ResultsDistances, std::vector< SizeType > &NumberOfResults, SizeType const &MaxNumberOfResults)
Definition: bins_static.h:603
Kratos::SearchUtils::SearchBoxInRange< PointType, IteratorType, SizeType, TDimension > SearchBoxInRange
Definition: bins_static.h:76
virtual std::string Info() const
Turn back information as a string.
Definition: bins_static.h:848
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)
Definition: bins_static.h:625
PointType & GetMaxPoint()
Get the Max Point object.
Definition: bins_static.h:225
Tvector< SizeType, Dimension > SizeArray
Definition: bins_static.h:56
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)
Definition: bins_static.h:634
void SearchNearestPoint(PointerType const &ThisPoints, SizeType const &NumberOfPoints, IteratorType &Results, std::vector< CoordinateType > ResultsDistances)
Definition: bins_static.h:503
void SearchInBoxLocal(PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &ResultsPoint, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 3 > &Box)
Definition: bins_static.h:835
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Box) override
Definition: bins_static.h:678
void SearchNearestInBoxInner(PointerType &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 1 > &Box, bool &Found)
Definition: bins_static.h:748
void SearchNearestInBoxInner(PointerType &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 2 > &Box, bool &Found)
Definition: bins_static.h:756
Kratos::SearchUtils::SearchNearestInRange< PointType, PointerType, IteratorType, DistanceFunction, CoordinateType > SearchNearestInRange
Definition: bins_static.h:74
LocalIterator PointIterator
Definition: bins_static.h:80
Bins(IteratorType const &PointBegin, IteratorType const &PointEnd, SizeType BucketSize=1)
Constructs a new BinsStatic Construct a new BinsStatic using a list of points and an automatically ca...
Definition: bins_static.h:102
SizeType SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, IteratorType Results, DistanceIteratorType ResultsDistances, SizeType const &MaxNumberOfResults, SearchStructureType &Box)
Definition: bins_static.h:573
Bins()
Default Constructor.
Definition: bins_static.h:92
TIteratorType IteratorType
Definition: bins_static.h:44
PointerType SearchNearestPoint(PointType const &ThisPoint, CoordinateType &rResultDistance, SearchStructureType &Box)
Definition: bins_static.h:473
SizeType SearchInBox(PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType Results, SizeType MaxNumberOfResults)
Definition: bins_static.h:796
KRATOS_DEPRECATED CoordinateType CellSize(SizeType const &iDim)
Definition: bins_static.h:185
void SearchNearestInBox(PointType const &ThisPoint, PointerType &ResultPoint, CoordinateType &ResultDistance, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 3 > &Box, bool &Found)
Definition: bins_static.h:735
Tvector< CoordinateType, Dimension > CoordinateArray
Definition: bins_static.h:55
void SearchInBox(PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
Definition: bins_static.h:807
TreeNodeType LeafType
Definition: bins_static.h:81
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)
Definition: bins_static.h:617
SizeType SearchInRadius(PointType const &ThisPoint, CoordinateType Radius, IteratorType Results, SizeType MaxNumberOfResults, SearchStructureType &Box)
Definition: bins_static.h:657
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
Definition: bins_static.h:669
void SearchNearestPointLocal(PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Box)
Definition: bins_static.h:515
Bins(IteratorType const &PointBegin, IteratorType const &PointEnd, PointType const &MinPoint, PointType const &MaxPoint, SizeType BucketSize=1)
Constructs a new BinsStatic Construct a new BinsStatic using a list of points and an automatically ca...
Definition: bins_static.h:125
Kratos::SearchUtils::SearchRadiusInRange< PointType, IteratorType, DistanceIteratorType, DistanceFunction, SizeType, CoordinateType > SearchRadiusInRange
Definition: bins_static.h:75
void SearchInBoxLocal(PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &ResultsPoint, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructure< IndexType, SizeType, CoordinateType, IteratorType, IteratorIteratorType, 2 > &Box)
Definition: bins_static.h:826
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Box) override
Definition: bins_static.h:594
TreeNodeType::IteratorIteratorType IteratorIteratorType
Definition: bins_static.h:59
TDistanceFunction DistanceFunction
Definition: bins_static.h:47
IteratorType Begin()
Definition: bins_static.h:171
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)
Definition: bins_static.h:688
~Bins() override
Definition: bins_static.h:167
Bins(IteratorType const &PointBegin, IteratorType const &PointEnd, CoordinateType cellsize, SizeType BucketSize=1)
Constructs a new BinsStatic.
Definition: bins_static.h:154
void PrintSize(std::ostream &rout)
Print Size of Container.
Definition: bins_static.h:874
TDistanceIteratorType DistanceIteratorType
Definition: bins_static.h:45
Tvector< IndexType, TDimension > CellType
Definition: bins_static.h:68
KRATOS_DEPRECATED SizeType NumCell(SizeType const &iDim)
Definition: bins_static.h:192
void SearchInRadius(PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
Definition: bins_static.h:585
@ Dimension
Definition: bins_static.h:40
TreeNodeType::SearchStructureType SearchStructureType
Definition: bins_static.h:60
PointType & GetMinPoint()
Get the Min Point object.
Definition: bins_static.h:217
PointerType ExistPoint(PointerType const &ThisPoint, CoordinateType const Tolerance=static_cast< CoordinateType >(10.0 *DBL_EPSILON))
Return the closest point to ThisPoint in case it exists or a null pointer otherwise.
Definition: bins_static.h:419
TContainerType ContainerType
Definition: bins_static.h:43
TreeNodeType::IndexType IndexType
Definition: bins_static.h:52
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: bins_static.h:854
std::vector< IteratorType > IteratorVector
Definition: bins_static.h:70
IteratorVector::iterator IteratorIterator
Definition: bins_static.h:71
This class is useful for index iteration over containers.
Definition: parallel_utilities.h:451
void for_each(TUnaryFunction &&f)
Definition: parallel_utilities.h:514
Point class.
Definition: point.h:59
Definition: search_structure.h:309
void Set(IndexVector const &IndexCell, SizeVector const &_MaxSize, IteratorIteratorType const &IteratorBegin)
Definition: search_structure.h:363
IteratorIteratorType RowBegin
Definition: search_structure.h:327
SubBinAxis< IndexType, SizeType > Axis[3]
Definition: search_structure.h:326
IteratorIteratorType RowEnd
Definition: search_structure.h:328
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
typename std::vector< IteratorType >::iterator IteratorIteratorType
Define IteratorIteratorType as an iterator type for a vector of IteratorType.
Definition: tree.h:94
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
static PointerType & NullPointer()
Definition: tree.h:152
#define KRATOS_DEPRECATED
Definition: define.h:738
TSpaceType::IndexType Size(TSpaceType &dummy, typename TSpaceType::VectorType const &rV)
Definition: add_strategies_to_python.cpp:111
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::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std double
Definition: DEM_application_variables.h:182
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
#define DBL_MAX
Definition: search_structure.h:23
Configure::IteratorType IteratorType
Definition: transfer_utility.h:249
Configure::PointType PointType
Definition: transfer_utility.h:245