![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information. More...
#include <cell.hh>
Inheritance diagram for voro::voronoicell_neighbor:Public Attributes | |
| int ** | mne |
| int ** | ne |
Public Attributes inherited from voro::voronoicell_base | |
| int | current_vertices |
| int | current_vertex_order |
| int | current_delete_size |
| int | current_delete2_size |
| int | p |
| int | up |
| int ** | ed |
| int * | nu |
| double * | pts |
Friends | |
| class | voronoicell_base |
Additional Inherited Members | |
Protected Member Functions inherited from voro::voronoicell_base | |
| void | reset_edges () |
| template<class vc_class > | |
| void | check_memory_for_copy (vc_class &vc, voronoicell_base *vb) |
| void | copy (voronoicell_base *vb) |
Protected Attributes inherited from voro::voronoicell_base | |
| int * | mem |
| int * | mec |
| int ** | mep |
Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information.
This class is an extension of the voronoicell_base class, in cases when the IDs of neighboring particles associated with each face of the Voronoi cell. It contains additional data structures mne and ne for storing this information.
| voro::voronoicell_neighbor::voronoicell_neighbor | ( | ) |
The class constructor allocates memory for storing neighbor information.
|
virtual |
The class destructor frees the dynamically allocated memory for storing neighbor information.
| void voro::voronoicell_neighbor::check_facets | ( | ) |
This routine checks to make sure the neighbor information of each face is consistent.
| void voro::voronoicell_neighbor::extractCellInfo | ( | const FVector & | CellPosition, |
| TArray< FVector > & | Vertices, | ||
| TArray< int32 > & | FaceVertexIndices, | ||
| TArray< int32 > & | Nbrs, | ||
| TArray< FVector > & | Normals | ||
| ) |
Computes Unreal TArrays of all cell info.
| void voro::voronoicell_neighbor::init | ( | double | xmin, |
| double | xmax, | ||
| double | ymin, | ||
| double | ymax, | ||
| double | zmin, | ||
| double | zmax | ||
| ) |
This initializes the class to be a rectangular box. It calls the base class initialization routine to set up the edge and vertex information, and then sets up the neighbor information, with initial faces being assigned ID numbers from -1 to -6.
| [in] | (xmin,xmax) | the minimum and maximum x coordinates. |
| [in] | (ymin,ymax) | the minimum and maximum y coordinates. |
| [in] | (zmin,zmax) | the minimum and maximum z coordinates. |
This initializes the class to be an octahedron. It calls the base class initialization routine to set up the edge and vertex information, and then sets up the neighbor information, with the initial faces being assigned ID numbers from -1 to -8.
| [in] | l | The distance from the octahedron center to a vertex. Six vertices are initialized at (-l,0,0), (l,0,0), (0,-l,0), (0,l,0), (0,0,-l), and (0,0,l). |
| void voro::voronoicell_neighbor::init_tetrahedron | ( | double | x0, |
| double | y0, | ||
| double | z0, | ||
| double | x1, | ||
| double | y1, | ||
| double | z1, | ||
| double | x2, | ||
| double | y2, | ||
| double | z2, | ||
| double | x3, | ||
| double | y3, | ||
| double | z3 | ||
| ) |
This initializes the class to be a tetrahedron. It calls the base class initialization routine to set up the edge and vertex information, and then sets up the neighbor information, with the initial faces being assigned ID numbers from -1 to -4.
| (x0,y0,z0) | a position vector for the first vertex. |
| (x1,y1,z1) | a position vector for the second vertex. |
| (x2,y2,z2) | a position vector for the third vertex. |
| (x3,y3,z3) | a position vector for the fourth vertex. |
|
virtual |
Computes a vector list of neighbors.
Reimplemented from voro::voronoicell_base.
Computes an Unreal TArray of neighbors.
|
inline |
Cuts the Voronoi cell by a particle whose center is at a separation of (x,y,z) from the cell center. The value of rsq should be initially set to 
| [in] | (x,y,z) | the normal vector to the plane. |
| [in] | rsq | the distance along this vector of the plane. |
| [in] | p_id | the plane ID (for neighbor tracking only). |
This routine calculates the modulus squared of the vector before passing it to the main nplane() routine with full arguments.
| [in] | (x,y,z) | the vector to cut the cell by. |
| [in] | p_id | the plane ID (for neighbor tracking only). |
| template bool voro::voronoicell_base::nplane | ( | vc_class & | vc, |
| double | x, | ||
| double | y, | ||
| double | z, | ||
| double | rsq, | ||
| int | p_id | ||
| ) |
Cuts the Voronoi cell by a particle whose center is at a separation of (x,y,z) from the cell center. The value of rsq should be initially set to 
| [in] | vc | a reference to the specialized version of the calling class. |
| [in] | (x,y,z) | the normal vector to the plane. |
| [in] | rsq | the distance along this vector of the plane. |
| [in] | p_id | the plane ID (for neighbor tracking only). |
| void voro::voronoicell_neighbor::operator= | ( | voronoicell & | c | ) |
Copies the information from another voronoicell class into this class, extending memory allocation if necessary.
| [in] | c | the class to copy. |
| void voro::voronoicell_neighbor::operator= | ( | voronoicell_neighbor & | c | ) |
Copies the information from another voronoicell_neighbor class into this class, extending memory allocation if necessary.
| [in] | c | the class to copy. |
Cuts a Voronoi cell using the influence of a particle at (x,y,z), first calculating the modulus squared of this vector before passing it to the main nplane() routine. Zero is supplied as the plane ID, which will be ignored unless neighbor tracking is enabled.
| [in] | (x,y,z) | the vector to cut the cell by. |
This version of the plane routine just makes up the plane ID to be zero. It will only be referenced if neighbor tracking is enabled.
| [in] | (x,y,z) | the vector to cut the cell by. |
| [in] | rsq | the modulus squared of the vector. |
|
virtual |
This prints out the neighbor information for vertex i.
Reimplemented from voro::voronoicell_base.
|
friend |
| int** voro::voronoicell_neighbor::mne |
This two dimensional array holds the neighbor information associated with each vertex. mne[p] is a one dimensional array which holds all of the neighbor information for vertices of order p.
| int** voro::voronoicell_neighbor::ne |
This is a two dimensional array that holds the neighbor information associated with each vertex. ne[i] points to a one-dimensional array in mne[nu[i]]. ne[i][j] holds the neighbor information associated with the jth edge of vertex i. It is set to the ID number of the plane that made the face that is clockwise from the jth edge.