UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
pre_container.hh
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2// Modified version of Voro++'s source file
3
4// Voro++, a 3D cell-based Voronoi library
5//
6// Author : Chris H. Rycroft (LBL / UC Berkeley)
7// Email : chr@alum.mit.edu
8// Date : August 30th 2011
9
13#ifndef VOROPP_PRE_CONTAINER_HH
14#define VOROPP_PRE_CONTAINER_HH
15
16#include <cstdio>
17
18#include "c_loops.hh"
19#include "container.hh"
20
21#include "HAL/PlatformMisc.h"
22
23namespace voro {
24
25void guess_optimal(int siteCount, double sizeX, double sizeY, double sizeZ, int &nx, int &ny, int &nz);
26
39 public:
41 const double ax;
43 const double bx;
45 const double ay;
47 const double by;
49 const double az;
51 const double bz;
54 const bool xperiodic;
57 const bool yperiodic;
60 const bool zperiodic;
61 void guess_optimal(int &nx,int &ny,int &nz);
62 pre_container_base(double ax_,double bx_,double ay_,double by_,double az_,double bz_,bool xperiodic_,bool yperiodic_,bool zperiodic_,int ps_);
72 protected:
76 const int ps;
77 void new_chunk();
78 void extend_chunk_index();
83 int **pre_id;
85 int **end_id;
88 int **l_id;
91 int *ch_id;
93 int *e_id;
96 double **pre_p;
99 double **end_p;
102 double *ch_p;
103};
104
111 public:
121 pre_container(double ax_,double bx_,double ay_,double by_,double az_,double bz_,
122 bool xperiodic_,bool yperiodic_,bool zperiodic_)
124 void put(int n,double x,double y,double z);
125 void setup(container &con);
126 void setup(particle_order &vo,container &con);
127};
128
135 public:
145 pre_container_poly(double ax_,double bx_,double ay_,double by_,double az_,double bz_,
146 bool xperiodic_,bool yperiodic_,bool zperiodic_)
148 void put(int n,double x,double y,double z,double r);
149 void setup(container_poly &con);
150 void setup(particle_order &vo,container_poly &con);
151};
152
153}
154
155#endif
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_DISABLE_UNSAFE_TYPECAST_WARNINGS
Definition MSVCPlatformCompilerPreSetup.h:81
#define PRAGMA_RESTORE_UNSAFE_TYPECAST_WARNINGS
Definition MSVCPlatformCompilerPreSetup.h:100
Header file for the loop classes.
Extension of the container_base class for computing radical Voronoi tessellations.
Definition container.hh:373
Extension of the container_base class for computing regular Voronoi tessellations.
Definition container.hh:305
A class for storing ordering information when particles are added to a container.
Definition c_loops.hh:44
A class for storing an arbitrary number of particles, prior to setting up a container geometry.
Definition pre_container.hh:38
const double bx
Definition pre_container.hh:43
const double ay
Definition pre_container.hh:45
void new_chunk()
Definition pre_container.cc:197
int * ch_id
Definition pre_container.hh:91
int ** l_id
Definition pre_container.hh:88
const int ps
Definition pre_container.hh:76
const bool zperiodic
Definition pre_container.hh:60
int ** end_id
Definition pre_container.hh:85
const double az
Definition pre_container.hh:49
const double by
Definition pre_container.hh:47
int * e_id
Definition pre_container.hh:93
const double ax
Definition pre_container.hh:41
PRAGMA_DISABLE_UNSAFE_TYPECAST_WARNINGS int total_particles()
Definition pre_container.hh:68
void guess_optimal(int &nx, int &ny, int &nz)
Definition pre_container.cc:68
double ** pre_p
Definition pre_container.hh:96
const double bz
Definition pre_container.hh:51
int ** pre_id
Definition pre_container.hh:83
~pre_container_base()
Definition pre_container.cc:52
int index_sz
Definition pre_container.hh:80
const bool xperiodic
Definition pre_container.hh:54
const bool yperiodic
Definition pre_container.hh:57
void extend_chunk_index()
Definition pre_container.cc:206
double * ch_p
Definition pre_container.hh:102
double ** end_p
Definition pre_container.hh:99
A class for storing an arbitrary number of particles with radius information, prior to setting up a c...
Definition pre_container.hh:134
pre_container_poly(double ax_, double bx_, double ay_, double by_, double az_, double bz_, bool xperiodic_, bool yperiodic_, bool zperiodic_)
Definition pre_container.hh:145
void put(int n, double x, double y, double z, double r)
Definition pre_container.cc:97
void setup(container_poly &con)
Definition pre_container.cc:131
A class for storing an arbitrary number of particles without radius information, prior to setting up ...
Definition pre_container.hh:110
pre_container(double ax_, double bx_, double ay_, double by_, double az_, double bz_, bool xperiodic_, bool yperiodic_, bool zperiodic_)
Definition pre_container.hh:121
void setup(container &con)
Definition pre_container.cc:110
void put(int n, double x, double y, double z)
Definition pre_container.cc:82
Header file for the container_base and related classes.
Definition c_loops.cc:15
void guess_optimal(int siteCount, double sizeX, double sizeY, double sizeZ, int &nx, int &ny, int &nz)
Definition pre_container.cc:22
const int pre_container_chunk_size
Definition config.hh:66