|
|
| VectorField () |
| | Empty.
|
| |
| | VectorField (const Box &, int, int, int, const Vector &=Vector::Null) |
| | Create the field structure.
|
| |
| | VectorField (const Box &, int, int, int, const AnalyticVectorField &) |
| | Create the field structure from an analytic vector field.
|
| |
|
| ~VectorField () |
| | Empty.
|
| |
| void | Set (const Vector &) |
| | Set the whole vector field to a constant vector.
|
| |
| Vector | at (int, int, int) const |
| | Return the field value at a given array vertex.
|
| |
| Vector & | operator() (int, int, int) |
| | Return the field value at a given array vertex.
|
| |
| Vector | at (int) const |
| | Return the data in the field.
|
| |
| Vector & | operator[] (int) |
| | Return the data in the field.
|
| |
| virtual Vector | Value (const Vector &) const |
| | Get the field value at a given point.
|
| |
| virtual Vector | Value (int, int, int) const |
| | Return the field vector at a given array vertex.
|
| |
| Vector | Euler (const Vector &, const double &, bool=false) const |
| | Compute the new position of a point in the vector field using forward Euler integration.
|
| |
| Vector | RungeKutta (const Vector &, const double &) const |
| | Compute the new position of a point in the vector field using Runge Kutta 4 integration.
|
| |
| PointCurve | EulerSteps (const Vector &, const double &, int, bool=false) const |
| | Compute trajectory of a point using Euler integration.
|
| |
| | Array () |
| | Empty.
|
| |
| | Array (const Box &, int, int, int) |
| | Create the array structure.
|
| |
|
| ~Array () |
| | Empty.
|
| |
| Array | Extract (int, int, int, int, int, int) const |
| | Extract an sub-array.
|
| |
|
int | VertexSize () const |
| | Return the size of the array.
|
| |
| int | VertexSize (int) const |
| | Get the size of the array for every axis.
|
| |
| Box | Cell (int) const |
| | Return the geometry of the cell.
|
| |
| Box | Cell (int, int, int) const |
| | Return the geometry of the cell.
|
| |
| Vector | CellCenter (int, int, int) const |
| | Return the center of the cell.
|
| |
| void | Scale (const Vector &) |
| | Scales the array structure.
|
| |
| void | Scale (const double &) |
| | Scales the array structure.
|
| |
|
Box | GetBox () const |
| | Get the box of the array.
|
| |
|
Vector | CellDiagonal () const |
| | Return the cell diagonal.
|
| |
| double | CellVolume () const |
| | Return the volume of a cell.
|
| |
| Vector | Vertex (int, int, int) const |
| | Compute the coordinates of a point on the lattice.
|
| |
|
int | GetSizeX () const |
| | Get the size of the array for x axis.
|
| |
|
int | GetSizeY () const |
| | Get the size of the array for y axis.
|
| |
|
int | GetSizeZ () const |
| | Get the size of the array for z axis.
|
| |
|
int | CellSize () const |
| | Return the size of the voxel.
|
| |
|
int | CellSizeX () const |
| | Get the size of the voxel for x axis.
|
| |
|
int | CellSizeY () const |
| | Get the size of the voxel for y axis.
|
| |
|
int | CellSizeZ () const |
| | Get the size of the voxel for z axis.
|
| |
|
bool | IsEmpty () const |
| | Detect if the array is empty.
|
| |
| Box | UnitCell () const |
| | Return the geometry of a generic cell.
|
| |
| void | Resize (const Box &, int, int, int) |
| | Resize the voxel with the given parameters.
|
| |
| void | VertexInteger (const Vector &, int &, int &, int &) const |
| | Compute the coordinates of a vertex inside a cell.
|
| |
| void | VertexIntegerVolume (const Box &, int &, int &, int &, int &, int &, int &) const |
| | Compute the integer coordinates of the vertices of a box embedding an input box.
|
| |
| void | CellInteger (const Vector &, int &, int &, int &) const |
| | Compute the coordinates of a vertex inside a cell.
|
| |
| void | CellInteger (const Vector &, int &, int &, int &, double &, double &, double &) const |
| | Compute the point on the lattice given an input point.
|
| |
| void | CellIntegerVolume (const Box &, int &, int &, int &, int &, int &, int &) const |
| | Compute the integer coordinates of the cells of the array embedding an input box.
|
| |
| void | OutStream (QDataStream &) const |
| | Write data to a data stream.
|
| |
| void | InStream (QDataStream &) |
| | Read data to a data stream.
|
| |
|
int | Memory () const |
| | Compute the size of the array.
|
| |
| constexpr int | VertexIndex (int, int, int) const |
| | Compute the index of a given vertex.
|
| |
| constexpr bool | InsideVertexIndex (int, int, int) const |
| | Check if the indexes are within range.
|
| |
| constexpr bool | InsideCellIndex (int, int, int) const |
| | Check if the indexes are within range.
|
| |
| void | InverseVertexIndex (int, int &, int &, int &) const |
| | Compute the coordinates of a given vertex.
|
| |
| constexpr int | CellIndex (int, int, int) const |
| | Compute the index of a given cell.
|
| |
| void | InverseCellIndex (int, int &, int &, int &) const |
| | Compute the coordinates of a given cell.
|
| |
|
| static Array | CubicCells (Box, int) |
| | Create an array with enforced cubic cells.
|
| |
|
| Box () |
| | Empty.
|
| |
| | Box (const double &) |
| | Create a cube centered at the origin and of given half side length.
|
| |
| | Box (const Vector &) |
| | Create an empty box given one vertex.
|
| |
| | Box (const Vector &, const Vector &) |
| | Create a box given two opposite corners.
|
| |
| | Box (const Vector &, const double &) |
| | Create a box given a center point and the half side length.
|
| |
| | Box (const Vector &, const double &, const double &, const double &) |
| | Create a box given a center point and its width, length, and height.
|
| |
| | Box (const double &, const double &, const double &) |
| | Create a box given its sizes.
|
| |
| | Box (const Vector *, int) |
| | Creates the bounding box of a set of points.
|
| |
| | Box (const QVector< Vector > &) |
| | Creates the bounding box of a set of points.
|
| |
| | Box (const Box &, const Box &) |
| | Create a box embedding two boxes.
|
| |
| | Box (const Box &, const Frame &) |
| | Creates an axis aligned bounding box from a box and a frame.
|
| |
| | Box (const Box &, const FrameScaled &) |
| | Creates an axis aligned bounding box from a box and a frame.
|
| |
| | Box (const Box &, const Matrix &) |
| | Creates an axis aligned bounding box from a box and a transformation matrix.
|
| |
|
| ~Box () |
| | Empty.
|
| |
|
Vector & | operator[] (int) |
| | Returns either end vertex of the box.
|
| |
|
Vector | operator[] (int) const |
| | Overloaded.
|
| |
|
Vector | Center () const |
| | Returns the center of the box.
|
| |
| Vector | Vertex (int) const |
| | Returns the k-th vertex of the box.
|
| |
| Segment | Edge (int) const |
| | Compute the k-th edge segment of the box.
|
| |
| Plane | Face (int) const |
| | Compute the k-th plane of the box.
|
| |
| Vector | Size () const |
| | Compute the size (width, length and height) of a box.
|
| |
|
Vector | Diagonal () const |
| | Returns the diagonal of the box.
|
| |
|
double | Radius () const |
| | Returns the radius of the box, i.e. the length of the half diagonal of the box.
|
| |
| double | R (const Vector &) const |
| | Computes the squared Euclidean distance between the box and a point.
|
| |
| double | Signed (const Vector &) const |
| | Computes the signed distance between the box and a point.
|
| |
| Vector | Normal (const Vector &) const |
| | Computes the normal vector between a point and a box.
|
| |
| double | R (const Box &) const |
| | Compute the squared Euclidean distance between two boxes.
|
| |
| double | RInfinity (const Box &) const |
| | Compute the maximum distance between two boxes.
|
| |
| int | Intersect (const Ray &) const |
| | Check the intersection between a box and a ray.
|
| |
| int | Intersect (const Ray &, double &, double &) const |
| | Computes the intersection between a box and a ray.
|
| |
| int | Intersect (const Ray &, double &) const |
| | Compute the first positive intersection between the box and a ray.
|
| |
| int | Intersect (const Ray &, double &, double &, Vector &, Vector &) const |
| | Compute the intersection between an axis aligned box and a ray.
|
| |
| int | Intersect (const Ray &, double &, Vector &) const |
| | Compute the first positive intersection between the box and a ray.
|
| |
| int | Intersect (const Vector &, const Vector &) const |
| | Check if a segment intersects an axis aligned box.
|
| |
| bool | Intersect (const Box &) const |
| | Check if the box intersects another box.
|
| |
| bool | Inside (const Box &) const |
| | Check if an argument box is inside the box.
|
| |
| bool | Inside (const Vector &) const |
| | Check if a point is inside the box.
|
| |
| Box | Intersection (const Box &) const |
| | Computes the intersection between two boxes.
|
| |
| int | Difference (const Box &, Box *) const |
| | Computes the difference between two boxes.
|
| |
| bool | Empty () const |
| | Check if a box is empty.
|
| |
|
double | Volume () const |
| | Compute the volume of a box.
|
| |
|
double | Area () const |
| | Compute the surface area of a box.
|
| |
| void | SetCubic () |
| | Creates the tightest embedding cube from an arbitrarilly shaped box.
|
| |
| void | SetInscribedCubic () |
| | Creates the biggest cube iscribed in the box.
|
| |
| Box | Cube () const |
| | Return the tightest embedding cube from an arbitrarilly shaped box.
|
| |
| void | Extend (const double &) |
| | Extend the limits of the box by a given distance.
|
| |
| Box | Extended (const double &) const |
| | Extend the limits of the box by a given distance.
|
| |
| void | Extend (const Vector &) |
| | Extend the limits of the box given a point.
|
| |
| Box | Extended (const Vector &) const |
| | Extend the limits of the box by a given vector range.
|
| |
| void | SetParallelepipedic (const double &, int &, int &, int &) |
| | Creates a parallelepipedic box whose dimensions are integer multiples of a given input reference size.
|
| |
| void | SetParallelepipedic (int, int &, int &, int &) |
| | Inflates a box so that its dimensions should be a fraction of its maximum side length.
|
| |
| Box | Sub (int) const |
| | Computes the sub-box in the n-th octant.
|
| |
| int | Octant (const Vector &) const |
| | Compute the octant index of a vertex with respect to the box center.
|
| |
| void | Translate (const Vector &) |
| | Translates a box.
|
| |
| Box | Translated (const Vector &) const |
| | Translated box.
|
| |
| void | Scale (const double &) |
| | Scales a box.
|
| |
| void | Scale (const Vector &) |
| | Scales a box.
|
| |
| Box | Scaled (const Vector &) const |
| | Scales a box and return the scaled box.
|
| |
| Box | Offsetted (const Vector &) const |
| | Offets a box.
|
| |
| Box | Centered () const |
| | Compute the box translated to origin.
|
| |
| Box | Cut (const Vector &, const Vector &) const |
| | Compute the minimal box embedding the box cut by half space.
|
| |
|
int | IntegerAxis () const |
| | Compute the axis which has the greater length.
|
| |
| Vector | RandomInside (Random &=Random::R239) const |
| | Generate a random vector inside the box.
|
| |
| Vector | RandomSurface (Random &=Random::R239) const |
| | Generate a random vector on the surface of the box.
|
| |
| QVector< Vector > | Poisson (const double &, int, Random &=Random::R239) const |
| | Compute a Poisson sphere distribution inside a box.
|
| |
|
static constexpr const double | epsilon = 1.0e-5 |
| | Epsilon value used to check intersections and some round off errors and for ray intersection tests.
|
| |
| static const Box | Infinity |
| | Largest box.
|
| |
| static const Box | Null |
| | Null box, equivalent to:
|
| |
|
static const Box | Unit |
| | Unit box.
|
| |
|
static const int | edge [24] |
| | Edge vertex indexes.
|
| |
|
static const Vector | normal [6] |
| | Face normals.
|
| |
A base three-dimensional field of Vector values.