|
template<typename IterType > |
| PartitionConstantGrid (const IterType &itemsBegin, const IterType &itemsEnd, const Vector3d &minDim, const Vector3d &maxDim, double spacing) |
|
| PartitionConstantGrid (const Vector3d &minDim, const Vector3d &maxDim, double spacing) |
|
| ~PartitionConstantGrid () override=default |
|
void | Add (T *cellItem) override |
|
void | Add (typename NumberedObjectList< T >::iterator itemsBegin, typename NumberedObjectList< T >::iterator itemsEnd) override |
|
void | Add (typename std::vector< T * >::iterator itemsBegin, typename std::vector< T * >::iterator itemsEnd) override |
|
template<typename ContainerType > |
void | AddItems (const ContainerType &nIterMarkers) |
|
template<typename IterType > |
void | AddItems (const IterType &itemsBegin, const IterType &itemsEnd) |
|
void | AddToCells (T &cellItem) |
| Add cellItem to its appropriate cell.
|
|
void | AddToCellsWithCheck (T &cellItem) |
| Add cellItem to its appropriate cell only if it is not already in the cell.
|
|
template<typename ContentsType > |
void | FindNearby (const Node &node, std::vector< ContentsType > &container) const |
|
template<typename ContentsType > |
void | FindNearby (const Vector3d &pos, std::vector< ContentsType > &container) const |
| Add the contents of all neighbouring cells and the cell for pos to container.
|
|
void | FindWithinRadius (const Vector3d ¢er, double radius, std::vector< ShellElement * > &container) const |
|
void | FindWithinRadius (const Vector3d ¢er, double radius, std::vector< T * > &container) const override |
|
void | Remove (T *cellItem) override |
|
void | RemoveAll () override |
|
void | RemoveFromCells (T &cellItem) |
| Remove cellItem from its corresponding cell.
|
|
void | RemoveFromCellsWithCheck (T &cellItem) |
| Remove cellItem from its corresponding cell, if it is present.
|
|
virtual | ~SearchRegion ()=default |
|
virtual void | Add (T *cellItem)=0 |
|
virtual void | Add (typename NumberedObjectList< T >::iterator itemsBegin, typename NumberedObjectList< T >::iterator itemsEnd) |
|
virtual void | Add (typename std::vector< T * >::iterator itemsBegin, typename std::vector< T * >::iterator itemsEnd) |
|
virtual void | FindWithinRadius (const Vector3d ¢er, double radius, std::vector< T * > &container) const =0 |
|
virtual void | Remove (T *cellItem)=0 |
|
virtual void | Remove (typename NumberedObjectList< T >::iterator itemsBegin, typename NumberedObjectList< T >::iterator itemsEnd) |
|
virtual void | Remove (typename std::vector< T * >::iterator itemsBegin, typename std::vector< T * >::iterator itemsEnd) |
|
virtual void | RemoveAll ()=0 |
|
| PartitionConstantBase (const Vector3d &minDim, const Vector3d &maxDim, double spacing) |
|
double | GetGridSpacing () const |
|
long | GetKey (const Vector3d &v) const |
|
long | GetKey (long x, long y, long z) const |
|
const Vector3d & | GetMaxControlVolume () const |
|
const Vector3d & | GetMinControlVolume () const |
|
long | GetNumCellsX () const |
|
long | GetNumCellsY () const |
|
long | GetNumCellsZ () const |
|
bool | ValidIndexes (long x, long y, long z) const |
|
bool | TestExistence (long key) const |
|
reference | back () |
|
const_reference | back () const |
|
iterator | begin () |
|
const_iterator | begin () const |
|
void | clear () |
|
unsigned | count (long key) const |
|
bool | empty () const |
|
iterator | end () |
|
const_iterator | end () const |
|
reference | front () |
|
const_reference | front () const |
|
iterator | lower_bound (long key) |
|
const_iterator | lower_bound (long key) const |
|
size_type | max_size () const |
|
void | push_back (const value_type &c) |
|
reverse_iterator | rbegin () |
|
const_reverse_iterator | rbegin () const |
|
reverse_iterator | rend () |
|
const_reverse_iterator | rend () const |
|
void | reserve (size_type s) |
| Reserve space for s items (if the data type supports it).
|
|
size_type | size () const |
|
iterator | upper_bound (long key) |
|
const_iterator | upper_bound (long key) const |
|
The constructor takes a container and builds a complete partitioned model with the container objects allocated to one or more cells at the requested spacing. Nodes are assigned to one cell only. Elements are assigned to possibly more than one cell. A license check is made before anything is added.
This constructor is equivalent to calling PartitionConstantGrid(minDim,maxDim,spacing) followed by a call to AddItems(itemsBegin,itemsEnd). It exists to facilitate easier initialization of other class' data members in their constructors.