Namespaces | |
Internal | |
Classes | |
class | AdvectionSolver2 |
Abstract based class for 2-D grid-based advection solver. More... | |
class | AdvectionSolver3 |
Abstract based class for 3-D grid-based advection solver. More... | |
class | Animation |
Abstract base class for animation-related class. More... | |
class | AnisotropicPointsToImplicit2 |
2-D points-to-implicit converter using Anisotropic kernels. More... | |
class | AnisotropicPointsToImplicit3 |
3-D points-to-implicit converter using Anisotropic kernels. More... | |
class | APICSolver2 |
2-D Affine Particle-in-Cell (APIC) implementation More... | |
class | APICSolver3 |
3-D Affine Particle-in-Cell (APIC) implementation More... | |
class | Array |
Generic N-dimensional array class interface. More... | |
class | Array< T, 1 > |
1-D array class. More... | |
class | Array< T, 2 > |
2-D array class. More... | |
class | Array< T, 3 > |
3-D array class. More... | |
class | ArrayAccessor |
Generic N-dimensional array accessor class interface. More... | |
class | ArrayAccessor< T, 1 > |
1-D array accessor class. More... | |
class | ArrayAccessor< T, 2 > |
2-D array accessor class. More... | |
class | ArrayAccessor< T, 3 > |
3-D array accessor class. More... | |
class | BccLatticePointGenerator |
Body-centered lattice points generator. More... | |
struct | BLAS |
Generic BLAS operator wrapper class. More... | |
class | BoundingBox |
Generic N-D axis-aligned bounding box class. More... | |
class | BoundingBox< T, 2 > |
2-D axis-aligned bounding box class. More... | |
class | BoundingBox< T, 3 > |
3-D axis-aligned bounding box class. More... | |
struct | BoundingBoxRayIntersection2 |
2-D box-ray intersection result. More... | |
struct | BoundingBoxRayIntersection3 |
3-D box-ray intersection result. More... | |
class | Box2 |
2-D box geometry. More... | |
class | Box3 |
3-D box geometry. More... | |
class | BVH2 |
Bounding Volume Hierarchy (BVH) in 2D. More... | |
class | BVH3 |
Bounding Volume Hierarchy (BVH) in 3D. More... | |
class | CellCenteredScalarGrid2 |
2-D Cell-centered scalar grid structure. More... | |
class | CellCenteredScalarGrid3 |
3-D Cell-centered scalar grid structure. More... | |
class | CellCenteredVectorGrid2 |
2-D Cell-centered vector grid structure. More... | |
class | CellCenteredVectorGrid3 |
3-D Cell-centered vector grid structure. More... | |
struct | ClosestIntersectionQueryResult2 |
Closest intersection query result. More... | |
struct | ClosestIntersectionQueryResult3 |
Closest intersection query result. More... | |
class | Collider2 |
Abstract base class for generic collider object. More... | |
class | Collider3 |
Abstract base class for generic collider object. More... | |
class | ColliderSet2 |
Collection of 2-D colliders. More... | |
class | ColliderSet3 |
Collection of 3-D colliders. More... | |
class | CollocatedVectorGrid2 |
Abstract base class for 2-D collocated vector grid structure. More... | |
class | CollocatedVectorGrid3 |
Abstract base class for 3-D collocated vector grid structure. More... | |
class | ConstantScalarField2 |
2-D constant scalar field. More... | |
class | ConstantScalarField3 |
3-D constant scalar field. More... | |
class | ConstantVectorField2 |
2-D constant vector field. More... | |
class | ConstantVectorField3 |
3-D constant vector field. More... | |
class | ConstArrayAccessor |
Generic N-dimensional read-only array accessor class interface. More... | |
class | ConstArrayAccessor< T, 1 > |
1-D read-only array accessor class. More... | |
class | ConstArrayAccessor< T, 2 > |
2-D read-only array accessor class. More... | |
class | ConstArrayAccessor< T, 3 > |
3-D read-only array accessor class. More... | |
class | CubicArraySampler |
Generic N-D cubic array sampler class. More... | |
class | CubicArraySampler< T, R, 1 > |
1-D cubic array sampler class. More... | |
class | CubicArraySampler< T, R, 2 > |
2-D cubic array sampler class. More... | |
class | CubicArraySampler< T, R, 3 > |
3-D cubic array sampler class. More... | |
class | CubicSemiLagrangian2 |
Implementation of 2-D cubic semi-Lagrangian advection solver. More... | |
class | CubicSemiLagrangian3 |
Implementation of 3-D cubic semi-Lagrangian advection solver. More... | |
class | CustomImplicitSurface2 |
Custom 2-D implicit surface using arbitrary function. More... | |
class | CustomImplicitSurface3 |
Custom 3-D implicit surface using arbitrary function. More... | |
class | CustomScalarField2 |
2-D scalar field with custom field function. More... | |
class | CustomScalarField3 |
3-D scalar field with custom field function. More... | |
class | CustomVectorField2 |
2-D vector field with custom field function. More... | |
class | CustomVectorField3 |
3-D vector field with custom field function. More... | |
class | Cylinder3 |
3-D cylinder geometry. More... | |
class | ENOLevelSetSolver2 |
Two-dimensional third-order ENO-based iterative level set solver. More... | |
class | ENOLevelSetSolver3 |
Three-dimensional third-order ENO-based iterative level set solver. More... | |
class | FaceCenteredGrid2 |
2-D face-centered (a.k.a MAC or staggered) grid. More... | |
class | FaceCenteredGrid3 |
3-D face-centered (a.k.a MAC or staggered) grid. More... | |
class | Factory |
struct | FDMBLAS2 |
BLAS operator wrapper for 2-D finite differencing. More... | |
struct | FDMBLAS3 |
BLAS operator wrapper for 3-D finite differencing. More... | |
class | FDMCGSolver2 |
2-D finite difference-type linear system solver using conjugate gradient. More... | |
class | FDMCGSolver3 |
3-D finite difference-type linear system solver using conjugate gradient. More... | |
struct | FDMCompressedBLAS2 |
BLAS operator wrapper for compressed 2-D finite differencing. More... | |
struct | FDMCompressedBLAS3 |
BLAS operator wrapper for compressed 3-D finite differencing. More... | |
struct | FDMCompressedLinearSystem2 |
Compressed linear system (Ax=b) for 2-D finite differencing. More... | |
struct | FDMCompressedLinearSystem3 |
Compressed linear system (Ax=b) for 3-D finite differencing. More... | |
class | FDMGaussSeidelSolver2 |
2-D finite difference-type linear system solver using Gauss-Seidel method. More... | |
class | FDMGaussSeidelSolver3 |
3-D finite difference-type linear system solver using Gauss-Seidel method. More... | |
class | FDMICCGSolver2 |
2-D finite difference-type linear system solver using incomplete Cholesky conjugate gradient (ICCG). More... | |
class | FDMICCGSolver3 |
3-D finite difference-type linear system solver using incomplete Cholesky conjugate gradient (ICCG). More... | |
class | FDMJacobiSolver2 |
2-D finite difference-type linear system solver using Jacobi method. More... | |
class | FDMJacobiSolver3 |
3-D finite difference-type linear system solver using Jacobi method. More... | |
struct | FDMLinearSystem2 |
Linear system (Ax=b) for 2-D finite differencing. More... | |
struct | FDMLinearSystem3 |
Linear system (Ax=b) for 3-D finite differencing. More... | |
class | FDMLinearSystemSolver2 |
Abstract base class for 2-D finite difference-type linear system solver. More... | |
class | FDMLinearSystemSolver3 |
Abstract base class for 3-D finite difference-type linear system solver. More... | |
struct | FDMMatrixRow2 |
The row of FDMMatrix2 where row corresponds to (i, j) grid point. More... | |
struct | FDMMatrixRow3 |
The row of FDMMatrix3 where row corresponds to (i, j, k) grid point. More... | |
struct | FDMMGLinearSystem2 |
Multigrid-syle 2-D linear system. More... | |
struct | FDMMGLinearSystem3 |
Multigrid-syle 3-D linear system. More... | |
class | FDMMGPCGSolver2 |
2-D finite difference-type linear system solver using Multigrid Preconditioned conjugate gradient (MGPCG). More... | |
class | FDMMGPCGSolver3 |
3-D finite difference-type linear system solver using Multigrid Preconditioned conjugate gradient (MGPCG). More... | |
class | FDMMGSolver2 |
2-D finite difference-type linear system solver using Multigrid. More... | |
class | FDMMGSolver3 |
3-D finite difference-type linear system solver using Multigrid. More... | |
class | FDMMGUtils2 |
Multigrid utilities for 2-D FDM system. More... | |
class | FDMMGUtils3 |
Multigrid utilities for 2-D FDM system. More... | |
class | Field2 |
Abstract base class for 2-D fields. More... | |
class | Field3 |
Abstract base class for 3-D fields. More... | |
class | FLIPSolver2 |
2-D Fluid-Implicit Particle (FLIP) implementation. More... | |
class | FLIPSolver3 |
3-D Fluid-Implicit Particle (FLIP) implementation. More... | |
class | FMMLevelSetSolver2 |
Two-dimensional fast marching method (FMM) implementation. More... | |
class | FMMLevelSetSolver3 |
Three-dimensional fast marching method (FMM) implementation. More... | |
struct | Frame |
Representation of an animation frame. More... | |
class | Grid2 |
Abstract base class for 2-D cartesian grid structure. More... | |
class | Grid3 |
Abstract base class for 3-D cartesian grid structure. More... | |
class | GridBackwardEulerDiffusionSolver2 |
2-D grid-based backward Euler diffusion solver. More... | |
class | GridBackwardEulerDiffusionSolver3 |
3-D grid-based backward Euler diffusion solver. More... | |
class | GridBlockedBoundaryConditionSolver2 |
Blocked 2-D boundary condition solver for grids. More... | |
class | GridBlockedBoundaryConditionSolver3 |
Blocked 3-D boundary condition solver for grids. More... | |
class | GridBoundaryConditionSolver2 |
Abstract base class for 2-D boundary condition solver for grids. More... | |
class | GridBoundaryConditionSolver3 |
Abstract base class for 3-D boundary condition solver for grids. More... | |
class | GridDiffusionSolver2 |
Abstract base class for 2-D grid-based diffusion equation solver. More... | |
class | GridDiffusionSolver3 |
Abstract base class for 3-D grid-based diffusion equation solver. More... | |
class | GridEmitter2 |
Abstract base class for 2-D grid-based emitters. More... | |
class | GridEmitter3 |
Abstract base class for 3-D grid-based emitters. More... | |
class | GridEmitterSet2 |
2-D grid-based emitter set. More... | |
class | GridEmitterSet3 |
3-D grid-based emitter set. More... | |
class | GridFluidSolver2 |
Abstract base class for grid-based 2-D fluid solver. More... | |
class | GridFluidSolver3 |
Abstract base class for grid-based 3-D fluid solver. More... | |
class | GridFluidSolverBuilderBase2 |
Base class for grid-based fluid solver builder. More... | |
class | GridFluidSolverBuilderBase3 |
Base class for grid-based fluid solver builder. More... | |
class | GridForwardEulerDiffusionSolver2 |
2-D grid-based forward Euler diffusion solver. More... | |
class | GridForwardEulerDiffusionSolver3 |
3-D grid-based forward Euler diffusion solver. More... | |
class | GridFractionalBoundaryConditionSolver2 |
Fractional 2-D boundary condition solver for grids. More... | |
class | GridFractionalBoundaryConditionSolver3 |
Fractional 3-D boundary condition solver for grids. More... | |
class | GridFractionalSinglePhasePressureSolver2 |
2-D fractional single-phase pressure solver. More... | |
class | GridFractionalSinglePhasePressureSolver3 |
3-D fractional single-phase pressure solver. More... | |
class | GridPointGenerator2 |
2-D regular-grid point generator. More... | |
class | GridPointGenerator3 |
3-D regular-grid point generator. More... | |
class | GridPressureSolver2 |
Abstract base class for 2-D grid-based pressure solver. More... | |
class | GridPressureSolver3 |
Abstract base class for 2-D grid-based pressure solver. More... | |
class | GridSinglePhasePressureSolver2 |
2-D single-phase pressure solver. More... | |
class | GridSinglePhasePressureSolver3 |
3-D single-phase pressure solver. More... | |
class | GridSmokeSolver2 |
2-D grid-based smoke solver. More... | |
class | GridSmokeSolver3 |
3-D grid-based smoke solver. More... | |
class | GridSystemData2 |
2-D grid system data. More... | |
class | GridSystemData3 |
3-D grid system data. More... | |
class | ImplicitSurface2 |
Abstract base class for 2-D implicit surface. More... | |
class | ImplicitSurface3 |
Abstract base class for 3-D implicit surface. More... | |
class | ImplicitSurfaceSet2 |
2-D implicit surface set. More... | |
class | ImplicitSurfaceSet3 |
3-D implicit surface set. More... | |
class | ImplicitTriangleMesh3 |
TriangleMesh3 to ImplicitSurface3 converter. More... | |
class | IntersectionQueryEngine2 |
Abstract base class for 2-D intersection test query engine. More... | |
class | IntersectionQueryEngine3 |
Abstract base class for 3-D intersection test query engine. More... | |
class | IterativeLevelSetSolver2 |
Abstract base class for 2-D PDE-based iterative level set solver. More... | |
class | IterativeLevelSetSolver3 |
Abstract base class for 3-D PDE-based iterative level set solver. More... | |
class | KdTree |
Generic k-d tree structure. More... | |
class | LevelSetLiquidSolver2 |
Level set based 2-D liquid solver. More... | |
class | LevelSetLiquidSolver3 |
Level set based 3-D liquid solver. More... | |
class | LevelSetSolver2 |
Abstract base class for 2-D level set solver. More... | |
class | LevelSetSolver3 |
Abstract base class for 3-D level set solver. More... | |
class | LinearArraySampler |
Generic N-D linear array sampler class. More... | |
class | LinearArraySampler< T, R, 1 > |
1-D linear array sampler class. More... | |
class | LinearArraySampler< T, R, 2 > |
2-D linear array sampler class. More... | |
class | LinearArraySampler< T, R, 3 > |
3-D linear array sampler class. More... | |
class | ListQueryEngine2 |
Ad-hoc list-based 2-D intersection/nearest-neighbor query engine. More... | |
class | ListQueryEngine3 |
Ad-hoc list-based 3-D intersection/nearest-neighbor query engine. More... | |
class | Logger |
Super simple logger implementation. More... | |
class | Logging |
Helper class for logging. More... | |
class | Matrix |
Static-sized M x N matrix class. More... | |
class | Matrix< T, 2, 2 > |
2-D matrix class. More... | |
class | Matrix< T, 3, 3 > |
3-D matrix class. More... | |
class | Matrix< T, 4, 4 > |
4-D matrix class. More... | |
class | MatrixBinaryOp |
Matrix expression for binary operation. More... | |
class | MatrixConstant |
Constant matrix expression. More... | |
class | MatrixCSR |
Compressed Sparse Row (CSR) matrix class. More... | |
class | MatrixCSRMatrixMul |
Matrix expression for CSR matrix-matrix multiplication. More... | |
class | MatrixCSRVectorMul |
Vector expression for CSR matrix-vector multiplication. More... | |
class | MatrixDiagonal |
Diagonal matrix expression. More... | |
class | MatrixExpression |
Base class for matrix expression. More... | |
class | MatrixIdentity |
Identity matrix expression. More... | |
class | MatrixMul |
Matrix expression for matrix-matrix multiplication. More... | |
class | MatrixMxN |
M x N matrix class. More... | |
class | MatrixScalarBinaryOp |
Matrix expression for matrix-scalar binary operation. More... | |
class | MatrixTriangular |
Triangular matrix expression. More... | |
class | MatrixUnaryOp |
Matrix expression for unary operation. More... | |
class | MatrixVectorMul |
Vector expression for matrix-vector multiplication. More... | |
struct | MGMatrix |
Multi-grid matrix wrapper. More... | |
struct | MGParameters |
Multi-grid input parameter set. More... | |
struct | MGResult |
Multi-grid result type. More... | |
struct | MGVector |
Multi-grid vector wrapper. More... | |
class | NearestArraySampler |
Generic N-D nearest array sampler class. More... | |
class | NearestArraySampler< T, R, 1 > |
1-D nearest array sampler class. More... | |
class | NearestArraySampler< T, R, 2 > |
2-D nearest array sampler class. More... | |
class | NearestArraySampler< T, R, 3 > |
3-D nearest array sampler class. More... | |
class | NearestNeighborQueryEngine2 |
Abstract base class for 2-D nearest neighbor query engine. More... | |
class | NearestNeighborQueryEngine3 |
Abstract base class for 3-D nearest neighbor query engine. More... | |
struct | NearestNeighborQueryResult2 |
Nearest neighbor query result. More... | |
struct | NearestNeighborQueryResult3 |
Nearest neighbor query result. More... | |
struct | NullCGPreconditioner |
No-op pre-conditioner for conjugate gradient. More... | |
class | Octree |
Generic octree data structure. More... | |
class | ParticleEmitter2 |
Abstract base class for 2-D particle emitter. More... | |
class | ParticleEmitter3 |
Abstract base class for 3-D particle emitter. More... | |
class | ParticleEmitterSet2 |
2-D particle-based emitter set. More... | |
class | ParticleEmitterSet3 |
3-D particle-based emitter set. More... | |
class | ParticleSystemData2 |
2-D particle system data. More... | |
class | ParticleSystemData3 |
3-D particle system data. More... | |
class | ParticleSystemSolver2 |
Basic 2-D particle system solver. More... | |
class | ParticleSystemSolver3 |
Basic 3-D particle system solver. More... | |
class | ParticleSystemSolverBuilderBase2 |
Base class for particle-based solver builder. More... | |
class | ParticleSystemSolverBuilderBase3 |
Base class for particle-based solver builder. More... | |
class | PCISPHSolver2 |
2-D PCISPH solver. More... | |
class | PCISPHSolver3 |
3-D PCISPH solver. More... | |
class | PhysicsAnimation |
Abstract base class for physics-based animation. More... | |
class | PICSolver2 |
2-D Particle-in-Cell (PIC) implementation. More... | |
class | PICSolver3 |
3-D Particle-in-Cell (PIC) implementation. More... | |
class | Plane2 |
2-D plane geometry. More... | |
class | Plane3 |
3-D plane geometry. More... | |
class | Point |
Generic N-D point class. More... | |
class | Point< T, 2 > |
2-D point class. More... | |
class | Point< T, 3 > |
3-D point class. More... | |
class | PointGenerator2 |
Abstract base class for 2-D point generator. More... | |
class | PointGenerator3 |
Abstract base class for 3-D point generator. More... | |
class | PointHashGridSearcher2 |
Hash grid-based 2-D point searcher. More... | |
class | PointHashGridSearcher3 |
Hash grid-based 3-D point searcher. More... | |
class | PointKdTreeSearcher2 |
KdTree-based 2-D point searcher. More... | |
class | PointKdTreeSearcher3 |
KdTree-based 3-D point searcher. More... | |
class | PointNeighborSearcher2 |
Abstract base class for 2-D neighbor point searcher. More... | |
class | PointNeighborSearcher3 |
Abstract base class for 3-D neighbor point searcher. More... | |
class | PointNeighborSearcherBuilder2 |
Abstract base class for 2-D point neighbor searcher builders. More... | |
class | PointNeighborSearcherBuilder3 |
Abstract base class for 3-D point neighbor searcher builders. More... | |
class | PointParallelHashGridSearcher2 |
Parallel version of hash grid-based 2-D point searcher. More... | |
class | PointParallelHashGridSearcher3 |
Parallel version of hash grid-based 3-D point searcher. More... | |
class | PointParticleEmitter2 |
2-D point particle emitter. More... | |
class | PointParticleEmitter3 |
3-D point particle emitter. More... | |
class | PointSimpleListSearcher2 |
Simple ad-hoc 2-D point searcher. More... | |
class | PointSimpleListSearcher3 |
Simple ad-hoc 3-D point searcher. More... | |
class | PointsToImplicit2 |
Abstract base class for 2-D points-to-implicit converters. More... | |
class | PointsToImplicit3 |
Abstract base class for 3-D points-to-implicit converters. More... | |
class | Quadtree |
Generic quadtree data structure. More... | |
class | Quaternion |
Quaternion class defined as q = w + xi + yj + zk. More... | |
class | Ray |
Class for ray. More... | |
class | Ray< T, 2 > |
Class for 2-D ray. More... | |
class | Ray< T, 3 > |
Class for 3-D ray. More... | |
struct | RDivides |
Reverse divides operator. More... | |
class | RigidBodyCollider2 |
2-D rigid body collider class. More... | |
class | RigidBodyCollider3 |
3-D rigid body collider class. More... | |
struct | RMinus |
Reverse minus operator. More... | |
class | ScalarField2 |
Abstract base class for 2-D scalar field. More... | |
class | ScalarField3 |
Abstract base class for 3-D scalar field. More... | |
class | ScalarGrid2 |
Abstract base class for 2-D scalar grid structure. More... | |
class | ScalarGrid3 |
Abstract base class for 3-D scalar grid structure. More... | |
class | ScalarGridBuilder2 |
Abstract base class for 2-D scalar grid builder. More... | |
class | ScalarGridBuilder3 |
Abstract base class for 3-D scalar grid builder. More... | |
struct | ScalarType |
Returns the type of the value itself. More... | |
struct | ScalarType< Vector< T, 2 > > |
Returns the type of the value itself. More... | |
struct | ScalarType< Vector< T, 3 > > |
Returns the type of the value itself. More... | |
struct | ScalarType< Vector< T, 4 > > |
Returns the type of the value itself. More... | |
struct | ScalarType< Vector< T, N > > |
Returns the type of the value. More... | |
class | SemiLagrangian2 |
Implementation of 2-D semi-Lagrangian advection solver. More... | |
class | SemiLagrangian3 |
Implementation of 3-D semi-Lagrangian advection solver. More... | |
class | Serializable |
Abstract base class for any serializable class. More... | |
class | Sphere2 |
2-D sphere geometry. More... | |
class | Sphere3 |
3-D sphere geometry. More... | |
class | SphericalPointsToImplicit2 |
2-D points-to-implicit converter based on simple sphere model. More... | |
class | SphericalPointsToImplicit3 |
3-D points-to-implicit converter based on simple sphere model. More... | |
class | SPHPointsToImplicit2 |
2-D points-to-implicit converter based on standard SPH kernel. More... | |
class | SPHPointsToImplicit3 |
3-D points-to-implicit converter based on standard SPH kernel. More... | |
class | SPHSolver2 |
2-D SPH solver. More... | |
class | SPHSolver3 |
3-D SPH solver. More... | |
class | SPHSolverBuilderBase2 |
Base class for SPH-based fluid solver builder. More... | |
class | SPHSolverBuilderBase3 |
Base class for SPH-based fluid solver builder. More... | |
struct | SPHSpikyKernel2 |
Spiky 2-D SPH kernel function object. More... | |
struct | SPHSpikyKernel3 |
Spiky 3-D SPH kernel function object. More... | |
struct | SPHStdKernel2 |
Standard 2-D SPH kernel function object. More... | |
struct | SPHStdKernel3 |
Standard 3-D SPH kernel function object. More... | |
class | SPHSystemData2 |
2-D SPH particle system data. More... | |
class | SPHSystemData3 |
3-D SPH particle system data. More... | |
class | Surface2 |
Abstract base class for 2-D surface. More... | |
class | Surface3 |
Abstract base class for 3-D surface. More... | |
class | SurfaceBuilderBase2 |
Base class for 2-D surface builder. More... | |
class | SurfaceBuilderBase3 |
Base class for 3-D surface builder. More... | |
struct | SurfaceRayIntersection2 |
Structure that represents ray-surface intersection point. More... | |
struct | SurfaceRayIntersection3 |
Structure that represents ray-surface intersection point. More... | |
class | SurfaceSet2 |
2-D surface set. More... | |
class | SurfaceSet3 |
3-D surface set. More... | |
class | SurfaceToImplicit2 |
2-D implicit surface wrapper for generic Surface2 instance. More... | |
class | SurfaceToImplicit3 |
3-D implicit surface wrapper for generic Surface3 instance. More... | |
class | Timer |
Simple timer class. More... | |
class | Transform2 |
Represents 2-D rigid body transform. More... | |
class | Transform3 |
Represents 3-D rigid body transform. More... | |
class | Triangle3 |
3-D triangle geometry. More... | |
class | TriangleMesh3 |
3-D triangle mesh geometry. More... | |
class | TrianglePointGenerator |
Right triangle point generator. More... | |
struct | TypeCast |
Type casting operator. More... | |
class | UpwindLevelSetSolver2 |
class | UpwindLevelSetSolver3 |
Three-dimensional first-order upwind-based iterative level set solver. More... | |
class | Vector |
Generic statically-sized N-D vector class. More... | |
class | Vector< T, 2 > |
2-D vector class. More... | |
class | Vector< T, 3 > |
3-D vector class. More... | |
class | Vector< T, 4 > |
4-D vector class. More... | |
class | VectorBinaryOp |
Vector expression for binary operation. More... | |
class | VectorExpression |
Base class for vector expression. More... | |
class | VectorField2 |
Abstract base class for 2-D vector field. More... | |
class | VectorField3 |
Abstract base class for 3-D vector field. More... | |
class | VectorGrid2 |
Abstract base class for 2-D vector grid structure. More... | |
class | VectorGrid3 |
Abstract base class for 3-D vector grid structure. More... | |
class | VectorGridBuilder2 |
Abstract base class for 2-D vector grid builder. More... | |
class | VectorGridBuilder3 |
Abstract base class for 3-D vector grid builder. More... | |
class | VectorN |
General purpose dynamically-sizedN-D vector class. More... | |
class | VectorScalarBinaryOp |
Vector expression for matrix-scalar binary operation. More... | |
class | VectorUnaryOp |
Vector expression for unary operation. More... | |
class | VertexCenteredScalarGrid2 |
2-D Vertex-centered scalar grid structure. More... | |
class | VertexCenteredScalarGrid3 |
3-D Vertex-centered scalar grid structure. More... | |
class | VertexCenteredVectorGrid2 |
2-D Vertex-centered vector grid structure. More... | |
class | VertexCenteredVectorGrid3 |
3-D Vertex-centered vector grid structure. More... | |
class | VolumeGridEmitter2 |
2-D grid-based volumetric emitter. More... | |
class | VolumeGridEmitter3 |
3-D grid-based volumetric emitter. More... | |
class | VolumeParticleEmitter2 |
2-D volumetric particle emitter. More... | |
class | VolumeParticleEmitter3 |
3-D volumetric particle emitter. More... | |
class | ZhuBridsonPointsToImplicit2 |
2-D points-to-implicit converter based on Zhu and Bridson's method. More... | |
class | ZhuBridsonPointsToImplicit3 |
3-D points-to-implicit converter based on Zhu and Bridson's method. More... | |
Typedefs | |
using | AnimationPtr = std::shared_ptr< Animation > |
Shared pointer for the Animation type. More... | |
using | PhysicsAnimationPtr = std::shared_ptr< PhysicsAnimation > |
template<typename T > | |
using | Array1 = Array< T, 1 > |
Type alias for 1-D array. More... | |
template<typename T > | |
using | Array2 = Array< T, 2 > |
Type alias for 2-D array. More... | |
template<typename T > | |
using | Array3 = Array< T, 3 > |
Type alias for 3-D array. More... | |
template<typename T > | |
using | ArrayAccessor1 = ArrayAccessor< T, 1 > |
Type alias for 1-D array accessor. More... | |
template<typename T > | |
using | ConstArrayAccessor1 = ConstArrayAccessor< T, 1 > |
Type alias for 1-D const array accessor. More... | |
template<typename T > | |
using | ArrayAccessor2 = ArrayAccessor< T, 2 > |
Type alias for 2-D array accessor. More... | |
template<typename T > | |
using | ConstArrayAccessor2 = ConstArrayAccessor< T, 2 > |
Type alias for 2-D const array accessor. More... | |
template<typename T > | |
using | ArrayAccessor3 = ArrayAccessor< T, 3 > |
Type alias for 3-D array accessor. More... | |
template<typename T > | |
using | ConstArrayAccessor3 = ConstArrayAccessor< T, 3 > |
Type alias for 3-D const array accessor. More... | |
template<typename T , typename R > | |
using | NearestArraySampler1 = NearestArraySampler< T, R, 1 > |
Type alias for 1-D nearest array sampler. More... | |
template<typename T , typename R > | |
using | LinearArraySampler1 = LinearArraySampler< T, R, 1 > |
Type alias for 1-D linear array sampler. More... | |
template<typename T , typename R > | |
using | CubicArraySampler1 = CubicArraySampler< T, R, 1 > |
Type alias for 1-D cubic array sampler. More... | |
template<typename T , typename R > | |
using | NearestArraySampler2 = NearestArraySampler< T, R, 2 > |
Type alias for 2-D nearest array sampler. More... | |
template<typename T , typename R > | |
using | LinearArraySampler2 = LinearArraySampler< T, R, 2 > |
Type alias for 2-D linear array sampler. More... | |
template<typename T , typename R > | |
using | CubicArraySampler2 = CubicArraySampler< T, R, 2 > |
Type alias for 2-D cubic array sampler. More... | |
template<typename T , typename R > | |
using | NearestArraySampler3 = NearestArraySampler< T, R, 3 > |
Type alias for 3-D nearest array sampler. More... | |
template<typename T , typename R > | |
using | LinearArraySampler3 = LinearArraySampler< T, R, 3 > |
Type alias for 3-D linear array sampler. More... | |
template<typename T , typename R > | |
using | CubicArraySampler3 = CubicArraySampler< T, R, 3 > |
Type alias for 3-D cubic array sampler. More... | |
template<typename T > | |
using | BoundingBox2 = BoundingBox< T, 2 > |
Type alias for 2-D BoundingBox. More... | |
using | BoundingBox2F = BoundingBox2< float > |
Float-type 2-D BoundingBox. More... | |
using | BoundingBox2D = BoundingBox2< double > |
Double-type 2-D BoundingBox. More... | |
using | BoundingBoxRayIntersection2F = BoundingBoxRayIntersection2< float > |
Float-type 2-D box-ray intersection result. More... | |
using | BoundingBoxRayIntersection2D = BoundingBoxRayIntersection2< double > |
Double-type 2-D box-ray intersection result. More... | |
template<typename T > | |
using | BoundingBox3 = BoundingBox< T, 3 > |
Type alias for 3-D BoundingBox. More... | |
using | BoundingBox3F = BoundingBox3< float > |
Float-type 3-D BoundingBox. More... | |
using | BoundingBox3D = BoundingBox3< double > |
Double-type 3-D BoundingBox. More... | |
using | BoundingBoxRayIntersection3F = BoundingBoxRayIntersection3< float > |
Float-type 3-D box-ray intersection result. More... | |
using | BoundingBoxRayIntersection3D = BoundingBoxRayIntersection3< double > |
Double-type 3-D box-ray intersection result. More... | |
using | Collider2Ptr = std::shared_ptr< Collider2 > |
Shared pointer type for the Collider2. More... | |
using | Collider3Ptr = std::shared_ptr< Collider3 > |
Shared pointer type for the Collider3. More... | |
typedef std::shared_ptr< ColliderSet2 > | ColliderSet2Ptr |
Shared pointer for the ColliderSet2 type. More... | |
using | ColliderSet3Ptr = std::shared_ptr< ColliderSet3 > |
Shared pointer for the ColliderSet3 type. More... | |
using | RigidBodyCollider2Ptr = std::shared_ptr< RigidBodyCollider2 > |
Shared pointer for the RigidBodyCollider2 type. More... | |
using | RigidBodyCollider3Ptr = std::shared_ptr< RigidBodyCollider3 > |
Shared pointer for the RigidBodyCollider3 type. More... | |
using | GridEmitter2Ptr = std::shared_ptr< GridEmitter2 > |
Shared pointer type for the GridEmitter2. More... | |
using | GridEmitter3Ptr = std::shared_ptr< GridEmitter3 > |
Shared pointer type for the GridEmitter3. More... | |
using | GridEmitterSet2Ptr = std::shared_ptr< GridEmitterSet2 > |
Shared pointer type for the GridEmitterSet2. More... | |
using | GridEmitterSet3Ptr = std::shared_ptr< GridEmitterSet3 > |
Shared pointer type for the GridEmitterSet3. More... | |
using | ParticleEmitter2Ptr = std::shared_ptr< ParticleEmitter2 > |
Shared pointer for the ParticleEmitter2 type. More... | |
using | ParticleEmitter3Ptr = std::shared_ptr< ParticleEmitter3 > |
Shared pointer for the ParticleEmitter3 type. More... | |
using | ParticleEmitterSet2Ptr = std::shared_ptr< ParticleEmitterSet2 > |
Shared pointer type for the ParticleEmitterSet2. More... | |
using | ParticleEmitterSet3Ptr = std::shared_ptr< ParticleEmitterSet3 > |
Shared pointer type for the ParticleEmitterSet3. More... | |
using | PointParticleEmitter2Ptr = std::shared_ptr< PointParticleEmitter2 > |
Shared pointer for the PointParticleEmitter2 type. More... | |
using | PointParticleEmitter3Ptr = std::shared_ptr< PointParticleEmitter3 > |
Shared pointer for the PointParticleEmitter3 type. More... | |
using | VolumeGridEmitter2Ptr = std::shared_ptr< VolumeGridEmitter2 > |
Shared pointer type for the VolumeGridEmitter2. More... | |
using | VolumeGridEmitter3Ptr = std::shared_ptr< VolumeGridEmitter3 > |
Shared pointer type for the VolumeGridEmitter3. More... | |
using | VolumeParticleEmitter2Ptr = std::shared_ptr< VolumeParticleEmitter2 > |
Shared pointer for the VolumeParticleEmitter2 type. More... | |
using | VolumeParticleEmitter3Ptr = std::shared_ptr< VolumeParticleEmitter3 > |
Shared pointer for the VolumeParticleEmitter3 type. More... | |
using | FDMVector2 = Array2< double > |
Vector type for 2-D finite differencing. More... | |
using | FDMMatrix2 = Array2< FDMMatrixRow2 > |
Matrix type for 2-D finite differencing. More... | |
using | FDMVector3 = Array3< double > |
Vector type for 3-D finite differencing. More... | |
using | FDMMatrix3 = Array3< FDMMatrixRow3 > |
Matrix type for 3-D finite differencing. More... | |
using | FDMMGMatrix2 = MGMatrix< FDMBLAS2 > |
Multigrid-style 2-D FDM matrix. More... | |
using | FDMMGVector2 = MGVector< FDMBLAS2 > |
Multigrid-style 2-D FDM vector. More... | |
using | FDMMGMatrix3 = MGMatrix< FDMBLAS3 > |
Multigrid-style 3-D FDM matrix. More... | |
using | FDMMGVector3 = MGVector< FDMBLAS3 > |
Multigrid-style 3-D FDM vector. More... | |
using | ConstantScalarField2Ptr = std::shared_ptr< ConstantScalarField2 > |
Shared pointer for the ConstantScalarField2 type. More... | |
using | ConstantScalarField3Ptr = std::shared_ptr< ConstantScalarField3 > |
Shared pointer for the ConstantScalarField3 type. More... | |
using | ConstantVectorField2Ptr = std::shared_ptr< ConstantVectorField2 > |
Shared pointer for the ConstantVectorField2 type. More... | |
using | ConstantVectorField3Ptr = std::shared_ptr< ConstantVectorField3 > |
Shared pointer for the ConstantVectorField3 type. More... | |
using | CustomScalarField2Ptr = std::shared_ptr< CustomScalarField2 > |
Shared pointer type for the CustomScalarField2. More... | |
using | CustomScalarField3Ptr = std::shared_ptr< CustomScalarField3 > |
Shared pointer type for the CustomScalarField3. More... | |
using | CustomVectorField2Ptr = std::shared_ptr< CustomVectorField2 > |
Shared pointer type for the CustomVectorField2. More... | |
using | CustomVectorField3Ptr = std::shared_ptr< CustomVectorField3 > |
Shared pointer type for the CustomVectorField3. More... | |
using | Field2Ptr = std::shared_ptr< Field2 > |
using | Field3Ptr = std::shared_ptr< Field3 > |
using | ScalarField2Ptr = std::shared_ptr< ScalarField2 > |
Shared pointer for the ScalarField2 type. More... | |
using | ScalarField3Ptr = std::shared_ptr< ScalarField3 > |
Shared pointer for the ScalarField3 type. More... | |
using | VectorField2Ptr = std::shared_ptr< VectorField2 > |
Shared pointer for the VectorField2 type. More... | |
using | VectorField3Ptr = std::shared_ptr< VectorField3 > |
Shared pointer for the VectorField3 type. More... | |
using | Box2Ptr = std::shared_ptr< Box2 > |
Shared pointer type for the Box2. More... | |
using | Box3Ptr = std::shared_ptr< Box3 > |
Shared pointer type for the Box3. More... | |
using | Cylinder3Ptr = std::shared_ptr< Cylinder3 > |
Shared pointer type for the Cylinder3. More... | |
using | ImplicitTriangleMesh3Ptr = std::shared_ptr< ImplicitTriangleMesh3 > |
Shared pointer for the ImplicitTriangleMesh3 type. More... | |
using | Plane2Ptr = std::shared_ptr< Plane2 > |
Shared pointer for the Plane2 type. More... | |
using | Plane3Ptr = std::shared_ptr< Plane3 > |
Shared pointer for the Plane3 type. More... | |
using | Sphere2Ptr = std::shared_ptr< Sphere2 > |
Shared pointer for the Sphere2 type. More... | |
using | Sphere3Ptr = std::shared_ptr< Sphere3 > |
Shared pointer for the Sphere3 type. More... | |
using | Triangle3Ptr = std::shared_ptr< Triangle3 > |
Shared pointer for the Triangle3 type. More... | |
using | TriangleMesh3Ptr = std::shared_ptr< TriangleMesh3 > |
Shared pointer for the TriangleMesh3 type. More... | |
using | CellCenteredScalarGrid2Ptr = std::shared_ptr< CellCenteredScalarGrid2 > |
Shared pointer for the CellCenteredScalarGrid2 type. More... | |
using | CellCenteredScalarGrid3Ptr = std::shared_ptr< CellCenteredScalarGrid3 > |
Shared pointer for the CellCenteredScalarGrid3 type. More... | |
using | CellCenteredVectorGrid2Ptr = std::shared_ptr< CellCenteredVectorGrid2 > |
Shared pointer for the CellCenteredVectorGrid2 type. More... | |
using | CellCenteredVectorGrid3Ptr = std::shared_ptr< CellCenteredVectorGrid3 > |
Shared pointer for the CellCenteredVectorGrid3 type. More... | |
using | CollocatedVectorGrid2Ptr = std::shared_ptr< CollocatedVectorGrid2 > |
Shared pointer for the CollocatedVectorGrid2 type. More... | |
using | CollocatedVectorGrid3Ptr = std::shared_ptr< CollocatedVectorGrid3 > |
Shared pointer for the CollocatedVectorGrid3 type. More... | |
using | FaceCenteredGrid2Ptr = std::shared_ptr< FaceCenteredGrid2 > |
Shared pointer type for the FaceCenteredGrid2. More... | |
using | FaceCenteredGrid3Ptr = std::shared_ptr< FaceCenteredGrid3 > |
Shared pointer type for the FaceCenteredGrid3. More... | |
using | Grid2Ptr = std::shared_ptr< Grid2 > |
using | Grid3Ptr = std::shared_ptr< Grid3 > |
using | GridSystemData2Ptr = std::shared_ptr< GridSystemData2 > |
Shared pointer type of GridSystemData2. More... | |
using | GridSystemData3Ptr = std::shared_ptr< GridSystemData3 > |
Shared pointer type of GridSystemData3. More... | |
using | ScalarGrid2Ptr = std::shared_ptr< ScalarGrid2 > |
Shared pointer for the ScalarGrid2 type. More... | |
using | ScalarGridBuilder2Ptr = std::shared_ptr< ScalarGridBuilder2 > |
Shared pointer for the ScalarGridBuilder2 type. More... | |
using | ScalarGrid3Ptr = std::shared_ptr< ScalarGrid3 > |
Shared pointer for the ScalarGrid3 type. More... | |
using | ScalarGridBuilder3Ptr = std::shared_ptr< ScalarGridBuilder3 > |
Shared pointer for the ScalarGridBuilder3 type. More... | |
using | VectorGrid2Ptr = std::shared_ptr< VectorGrid2 > |
Shared pointer for the VectorGrid2 type. More... | |
using | VectorGridBuilder2Ptr = std::shared_ptr< VectorGridBuilder2 > |
Shared pointer for the VectorGridBuilder2 type. More... | |
using | VectorGrid3Ptr = std::shared_ptr< VectorGrid3 > |
Shared pointer for the VectorGrid3 type. More... | |
using | VectorGridBuilder3Ptr = std::shared_ptr< VectorGridBuilder3 > |
Shared pointer for the VectorGridBuilder3 type. More... | |
using | VertexCenteredScalarGrid2Ptr = std::shared_ptr< VertexCenteredScalarGrid2 > |
Shared pointer for the VertexCenteredScalarGrid2 type. More... | |
using | VertexCenteredScalarGrid3Ptr = std::shared_ptr< VertexCenteredScalarGrid3 > |
Shared pointer for the VertexCenteredScalarGrid3 type. More... | |
using | VertexCenteredVectorGrid2Ptr = std::shared_ptr< VertexCenteredVectorGrid2 > |
Shared pointer for the VertexCenteredVectorGrid2 type. More... | |
using | VertexCenteredVectorGrid3Ptr = std::shared_ptr< VertexCenteredVectorGrid3 > |
Shared pointer for the VertexCenteredVectorGrid3 type. More... | |
using | QuaternionF = Quaternion< float > |
Float-type quaternion. More... | |
using | QuaternionD = Quaternion< double > |
Double-type quaternion. More... | |
template<typename T > | |
using | Matrix2x2 = Matrix< T, 2, 2 > |
Type alias for 2x2 matrix. More... | |
using | Matrix2x2F = Matrix2x2< float > |
Float-type 2x2 matrix. More... | |
using | Matrix2x2D = Matrix2x2< double > |
Double-type 2x2 matrix. More... | |
template<typename T > | |
using | Matrix3x3 = Matrix< T, 3, 3 > |
Type alias for 3x3 matrix. More... | |
using | Matrix3x3F = Matrix3x3< float > |
Float-type 3x3 matrix. More... | |
using | Matrix3x3D = Matrix3x3< double > |
Double-type 3x3 matrix. More... | |
template<typename T > | |
using | Matrix4x4 = Matrix< T, 4, 4 > |
Type alias for 4x4 matrix. More... | |
using | Matrix4x4F = Matrix4x4< float > |
Float-type 4x4 matrix. More... | |
using | Matrix4x4D = Matrix4x4< double > |
Double-type 4x4 matrix. More... | |
using | MatrixCSRF = MatrixCSR< float > |
Float-type CSR matrix. More... | |
using | MatrixCSRD = MatrixCSR< double > |
Double-type CSR matrix. More... | |
template<typename T , typename E , typename U > | |
using | MatrixTypeCast = MatrixUnaryOp< T, E, TypeCast< U, T > > |
Matrix expression for type casting. More... | |
template<typename T , typename E1 , typename E2 > | |
using | MatrixAdd = MatrixBinaryOp< T, E1, E2, std::plus< T > > |
Matrix-matrix addition expression. More... | |
template<typename T , typename E > | |
using | MatrixScalarAdd = MatrixScalarBinaryOp< T, E, std::plus< T > > |
Matrix-scalar addition expression. More... | |
template<typename T , typename E1 , typename E2 > | |
using | MatrixSub = MatrixBinaryOp< T, E1, E2, std::minus< T > > |
Matrix-matrix subtraction expression. More... | |
template<typename T , typename E > | |
using | MatrixScalarSub = MatrixScalarBinaryOp< T, E, std::minus< T > > |
Matrix-scalar subtraction expression. More... | |
template<typename T , typename E > | |
using | MatrixScalarRSub = MatrixScalarBinaryOp< T, E, RMinus< T > > |
Matrix-matrix subtraction expression with inversed order. More... | |
template<typename T , typename E > | |
using | MatrixScalarMul = MatrixScalarBinaryOp< T, E, std::multiplies< T > > |
Matrix-scalar multiplication expression. More... | |
template<typename T , typename E > | |
using | MatrixScalarDiv = MatrixScalarBinaryOp< T, E, std::divides< T > > |
Matrix-scalar division expression. More... | |
template<typename T , typename E > | |
using | MatrixScalarRDiv = MatrixScalarBinaryOp< T, E, RDivides< T > > |
Matrix-scalar division expression with inversed order. More... | |
using | MatrixMxNF = MatrixMxN< float > |
Float-type M x N matrix. More... | |
using | MatrixMxND = MatrixMxN< double > |
Double-type M x N matrix. More... | |
using | ParticleSystemData2Ptr = std::shared_ptr< ParticleSystemData2 > |
Shared pointer type of ParticleSystemData2. More... | |
using | ParticleSystemData3Ptr = std::shared_ptr< ParticleSystemData3 > |
Shared pointer type of ParticleSystemData3. More... | |
template<typename T > | |
using | Point2 = Point< T, 2 > |
Type alias for two dimensional point. More... | |
using | Point2F = Point2< float > |
Float-type 2D point. More... | |
using | Point2D = Point2< double > |
Double-type 2D point. More... | |
using | Point2I = Point2< ssize_t > |
Integer-type 2D point. More... | |
using | Point2UI = Point2< size_t > |
Unsigned integer-type 2D point. More... | |
template<typename T > | |
using | Point3 = Point< T, 3 > |
Type alias for three dimensional point. More... | |
using | Point3F = Point3< float > |
Float-type 3D point. More... | |
using | Point3D = Point3< double > |
Double-type 3D point. More... | |
using | Point3I = Point3< ssize_t > |
Integer-type 3D point. More... | |
using | Point3UI = Point3< size_t > |
Unsigned integer-type 3D point. More... | |
using | BccLatticePointGeneratorPtr = std::shared_ptr< BccLatticePointGenerator > |
Shared pointer type for the BccLatticePointGenerator. More... | |
using | GridPointGenerator2Ptr = std::shared_ptr< GridPointGenerator2 > |
Shared pointer type for the GridPointGenerator2. More... | |
using | GridPointGenerator3Ptr = std::shared_ptr< GridPointGenerator3 > |
Shared pointer type for the GridPointGenerator3. More... | |
using | PointGenerator2Ptr = std::shared_ptr< PointGenerator2 > |
Shared pointer for the PointGenerator2 type. More... | |
using | PointGenerator3Ptr = std::shared_ptr< PointGenerator3 > |
Shared pointer for the PointGenerator3 type. More... | |
using | TrianglePointGeneratorPtr = std::shared_ptr< TrianglePointGenerator > |
using | AnisotropicPointsToImplicit2Ptr = std::shared_ptr< AnisotropicPointsToImplicit2 > |
Shared pointer for the AnisotropicPointsToImplicit2 type. More... | |
using | AnisotropicPointsToImplicit3Ptr = std::shared_ptr< AnisotropicPointsToImplicit3 > |
Shared pointer for the AnisotropicPointsToImplicit3 type. More... | |
using | PointsToImplicit2Ptr = std::shared_ptr< PointsToImplicit2 > |
Shared pointer for the PointsToImplicit2 type. More... | |
using | PointsToImplicit3Ptr = std::shared_ptr< PointsToImplicit3 > |
Shared pointer for the PointsToImplicit3 type. More... | |
using | SphericalPointsToImplicit2Ptr = std::shared_ptr< SphericalPointsToImplicit2 > |
Shared pointer type for SphericalPointsToImplicit2. More... | |
using | SphericalPointsToImplicit3Ptr = std::shared_ptr< SphericalPointsToImplicit3 > |
Shared pointer type for SphericalPointsToImplicit3. More... | |
using | SPHPointsToImplicit2Ptr = std::shared_ptr< SPHPointsToImplicit2 > |
Shared pointer type for SPHPointsToImplicit2 class. More... | |
using | SPHPointsToImplicit3Ptr = std::shared_ptr< SPHPointsToImplicit3 > |
Shared pointer type for SPHPointsToImplicit3 class. More... | |
using | ZhuBridsonPointsToImplicit2Ptr = std::shared_ptr< ZhuBridsonPointsToImplicit2 > |
Shared pointer type for ZhuBridsonPointsToImplicit2 class. More... | |
using | ZhuBridsonPointsToImplicit3Ptr = std::shared_ptr< ZhuBridsonPointsToImplicit3 > |
Shared pointer type for ZhuBridsonPointsToImplicit3 class. More... | |
template<typename T > | |
using | ClosestIntersectionDistanceFunc2 = std::function< double(const T &, const Vector2D &)> |
Closest intersection distance measure function. More... | |
template<typename T > | |
using | BoxIntersectionTestFunc2 = std::function< bool(const T &, const BoundingBox2D &)> |
Box-item intersection test function. More... | |
template<typename T > | |
using | RayIntersectionTestFunc2 = std::function< bool(const T &, const Ray2D &)> |
Ray-item intersection test function. More... | |
template<typename T > | |
using | GetRayIntersectionFunc2 = std::function< double(const T &, const Ray2D &)> |
Ray-item closest intersection evaluation function. More... | |
template<typename T > | |
using | IntersectionVisitorFunc2 = std::function< void(const T &)> |
Visitor function which is invoked for each intersecting item. More... | |
template<typename T > | |
using | ClosestIntersectionDistanceFunc3 = std::function< double(const T &, const Vector3D &)> |
Closest intersection distance measure function. More... | |
template<typename T > | |
using | BoxIntersectionTestFunc3 = std::function< bool(const T &, const BoundingBox3D &)> |
Box-item intersection test function. More... | |
template<typename T > | |
using | RayIntersectionTestFunc3 = std::function< bool(const T &, const Ray3D &)> |
Ray-item intersection test function. More... | |
template<typename T > | |
using | GetRayIntersectionFunc3 = std::function< double(const T &, const Ray3D &)> |
Ray-item closest intersection evaluation function. More... | |
template<typename T > | |
using | IntersectionVisitorFunc3 = std::function< void(const T &)> |
Visitor function which is invoked for each intersecting item. More... | |
template<typename T > | |
using | NearestNeighborDistanceFunc2 = std::function< double(const T &, const Vector2D &)> |
Nearest neighbor distance measure function. More... | |
template<typename T > | |
using | NearestNeighborDistanceFunc3 = std::function< double(const T &, const Vector3D &)> |
Nearest neighbor distance measure function. More... | |
template<typename T > | |
using | Ray2 = Ray< T, 2 > |
Type alias for 2-D ray. More... | |
using | Ray2F = Ray2< float > |
Float-type 2-D ray. More... | |
using | Ray2D = Ray2< double > |
Double-type 2-D ray. More... | |
template<typename T > | |
using | Ray3 = Ray< T, 3 > |
Type alias for 3-D ray. More... | |
using | Ray3F = Ray3< float > |
Float-type 3-D ray. More... | |
using | Ray3D = Ray3< double > |
Double-type 3-D ray. More... | |
using | PointHashGridSearcher2Ptr = std::shared_ptr< PointHashGridSearcher2 > |
Shared pointer for the PointHashGridSearcher2 type. More... | |
using | PointHashGridSearcher3Ptr = std::shared_ptr< PointHashGridSearcher3 > |
Shared pointer for the PointHashGridSearcher3 type. More... | |
using | PointKdTreeSearcher2Ptr = std::shared_ptr< PointKdTreeSearcher2 > |
Shared pointer for the PointKdTreeSearcher2 type. More... | |
using | PointKdTreeSearcher3Ptr = std::shared_ptr< PointKdTreeSearcher3 > |
Shared pointer for the PointKdTreeSearcher3 type. More... | |
using | PointNeighborSearcher2Ptr = std::shared_ptr< PointNeighborSearcher2 > |
Shared pointer for the PointNeighborSearcher2 type. More... | |
using | PointNeighborSearcherBuilder2Ptr = std::shared_ptr< PointNeighborSearcherBuilder2 > |
Shared pointer for the PointNeighborSearcherBuilder2 type. More... | |
using | PointNeighborSearcher3Ptr = std::shared_ptr< PointNeighborSearcher3 > |
Shared pointer for the PointNeighborSearcher3 type. More... | |
using | PointNeighborSearcherBuilder3Ptr = std::shared_ptr< PointNeighborSearcherBuilder3 > |
Shared pointer for the PointNeighborSearcherBuilder3 type. More... | |
using | PointParallelHashGridSearcher2Ptr = std::shared_ptr< PointParallelHashGridSearcher2 > |
Shared pointer for the PointParallelHashGridSearcher2 type. More... | |
using | PointParallelHashGridSearcher3Ptr = std::shared_ptr< PointParallelHashGridSearcher3 > |
Shared pointer for the PointParallelHashGridSearcher3 type. More... | |
using | PointSimpleListSearcher2Ptr = std::shared_ptr< PointSimpleListSearcher2 > |
Shared pointer for the PointSimpleListSearcher2 type. More... | |
using | PointSimpleListSearcher3Ptr = std::shared_ptr< PointSimpleListSearcher3 > |
Shared pointer for the PointSimpleListSearcher3 type. More... | |
using | CubicSemiLagrangian2Ptr = std::shared_ptr< CubicSemiLagrangian2 > |
using | CubicSemiLagrangian3Ptr = std::shared_ptr< CubicSemiLagrangian3 > |
using | SemiLagrangian2Ptr = std::shared_ptr< SemiLagrangian2 > |
using | SemiLagrangian3Ptr = std::shared_ptr< SemiLagrangian3 > |
template<size_t N> | |
using | Size = Point< size_t, N > |
using | Size2 = Point2< size_t > |
using | Size3 = Point3< size_t > |
using | AdvectionSolver2Ptr = std::shared_ptr< AdvectionSolver2 > |
Shared pointer type for the 2-D advection solver. More... | |
using | AdvectionSolver3Ptr = std::shared_ptr< AdvectionSolver3 > |
Shared pointer type for the 3-D advection solver. More... | |
using | FDMCGSolver2Ptr = std::shared_ptr< FDMCGSolver2 > |
Shared pointer type for the FDMCGSolver2. More... | |
using | FDMCGSolver3Ptr = std::shared_ptr< FDMCGSolver3 > |
Shared pointer type for the FDMCGSolver3. More... | |
using | FDMGaussSeidelSolver2Ptr = std::shared_ptr< FDMGaussSeidelSolver2 > |
Shared pointer type for the FDMGaussSeidelSolver2. More... | |
using | FDMGaussSeidelSolver3Ptr = std::shared_ptr< FDMGaussSeidelSolver3 > |
Shared pointer type for the FDMGaussSeidelSolver3. More... | |
using | FDMICCGSolver2Ptr = std::shared_ptr< FDMICCGSolver2 > |
Shared pointer type for the FDMICCGSolver2. More... | |
using | FDMICCGSolver3Ptr = std::shared_ptr< FDMICCGSolver3 > |
Shared pointer type for the FDMICCGSolver3. More... | |
using | FDMJacobiSolver2Ptr = std::shared_ptr< FDMJacobiSolver2 > |
Shared pointer type for the FDMJacobiSolver2. More... | |
using | FDMJacobiSolver3Ptr = std::shared_ptr< FDMJacobiSolver3 > |
Shared pointer type for the FDMJacobiSolver3. More... | |
using | FDMLinearSystemSolver2Ptr = std::shared_ptr< FDMLinearSystemSolver2 > |
Shared pointer type for the FDMLinearSystemSolver2. More... | |
using | FDMLinearSystemSolver3Ptr = std::shared_ptr< FDMLinearSystemSolver3 > |
Shared pointer type for the FDMLinearSystemSolver3. More... | |
using | FDMMGPCGSolver2Ptr = std::shared_ptr< FDMMGPCGSolver2 > |
Shared pointer type for the FDMMGPCGSolver2. More... | |
using | FDMMGPCGSolver3Ptr = std::shared_ptr< FDMMGPCGSolver3 > |
Shared pointer type for the FDMMGPCGSolver3. More... | |
using | FDMMGSolver2Ptr = std::shared_ptr< FDMMGSolver2 > |
Shared pointer type for the FDMMGSolver2. More... | |
using | FDMMGSolver3Ptr = std::shared_ptr< FDMMGSolver3 > |
Shared pointer type for the FDMMGSolver3. More... | |
using | GridBackwardEulerDiffusionSolver2Ptr = std::shared_ptr< GridBackwardEulerDiffusionSolver2 > |
Shared pointer type for the GridBackwardEulerDiffusionSolver2. More... | |
using | GridBackwardEulerDiffusionSolver3Ptr = std::shared_ptr< GridBackwardEulerDiffusionSolver3 > |
Shared pointer type for the GridBackwardEulerDiffusionSolver3. More... | |
using | GridBlockedBoundaryConditionSolver2Ptr = std::shared_ptr< GridBlockedBoundaryConditionSolver2 > |
Shared pointer type for the GridBlockedBoundaryConditionSolver2. More... | |
using | GridBlockedBoundaryConditionSolver3Ptr = std::shared_ptr< GridBlockedBoundaryConditionSolver3 > |
Shared pointer type for the GridBlockedBoundaryConditionSolver3. More... | |
using | GridBoundaryConditionSolver2Ptr = std::shared_ptr< GridBoundaryConditionSolver2 > |
Shared pointer type for the GridBoundaryConditionSolver2. More... | |
using | GridBoundaryConditionSolver3Ptr = std::shared_ptr< GridBoundaryConditionSolver3 > |
Shared pointer type for the GridBoundaryConditionSolver3. More... | |
using | GridDiffusionSolver2Ptr = std::shared_ptr< GridDiffusionSolver2 > |
Shared pointer type for the GridDiffusionSolver2. More... | |
using | GridDiffusionSolver3Ptr = std::shared_ptr< GridDiffusionSolver3 > |
Shared pointer type for the GridDiffusionSolver3. More... | |
using | GridFluidSolver2Ptr = std::shared_ptr< GridFluidSolver2 > |
Shared pointer type for the GridFluidSolver2. More... | |
using | GridFluidSolver3Ptr = std::shared_ptr< GridFluidSolver3 > |
Shared pointer type for the GridFluidSolver3. More... | |
using | GridForwardEulerDiffusionSolver2Ptr = std::shared_ptr< GridForwardEulerDiffusionSolver2 > |
Shared pointer type for the GridForwardEulerDiffusionSolver2. More... | |
using | GridForwardEulerDiffusionSolver3Ptr = std::shared_ptr< GridForwardEulerDiffusionSolver3 > |
Shared pointer type for the GridForwardEulerDiffusionSolver3. More... | |
using | GridFractionalBoundaryConditionSolver2Ptr = std::shared_ptr< GridFractionalBoundaryConditionSolver2 > |
Shared pointer type for the GridFractionalBoundaryConditionSolver2. More... | |
using | GridFractionalBoundaryConditionSolver3Ptr = std::shared_ptr< GridFractionalBoundaryConditionSolver3 > |
Shared pointer type for the GridFractionalBoundaryConditionSolver3. More... | |
using | GridFractionalSinglePhasePressureSolver2Ptr = std::shared_ptr< GridFractionalSinglePhasePressureSolver2 > |
Shared pointer type for the GridFractionalSinglePhasePressureSolver2. More... | |
using | GridFractionalSinglePhasePressureSolver3Ptr = std::shared_ptr< GridFractionalSinglePhasePressureSolver3 > |
Shared pointer type for the GridFractionalSinglePhasePressureSolver3. More... | |
using | GridPressureSolver2Ptr = std::shared_ptr< GridPressureSolver2 > |
Shared pointer type for the GridPressureSolver2. More... | |
using | GridPressureSolver3Ptr = std::shared_ptr< GridPressureSolver3 > |
Shared pointer type for the GridPressureSolver3. More... | |
using | GridSinglePhasePressureSolver2Ptr = std::shared_ptr< GridSinglePhasePressureSolver2 > |
Shared pointer type for the GridSinglePhasePressureSolver2. More... | |
using | GridSinglePhasePressureSolver3Ptr = std::shared_ptr< GridSinglePhasePressureSolver3 > |
Shared pointer type for the GridSinglePhasePressureSolver3. More... | |
using | GridSmokeSolver2Ptr = std::shared_ptr< GridSmokeSolver2 > |
Shared pointer type for the GridSmokeSolver2. More... | |
using | GridSmokeSolver3Ptr = std::shared_ptr< GridSmokeSolver3 > |
Shared pointer type for the GridSmokeSolver3. More... | |
using | APICSolver2Ptr = std::shared_ptr< APICSolver2 > |
Shared pointer type for the APICSolver2. More... | |
using | APICSolver3Ptr = std::shared_ptr< APICSolver3 > |
Shared pointer type for the APICSolver3. More... | |
using | FLIPSolver2Ptr = std::shared_ptr< FLIPSolver2 > |
Shared pointer type for the FLIPSolver2. More... | |
using | FLIPSolver3Ptr = std::shared_ptr< FLIPSolver3 > |
Shared pointer type for the FLIPSolver3. More... | |
using | PICSolver2Ptr = std::shared_ptr< PICSolver2 > |
Shared pointer type for the PICSolver2. More... | |
using | PICSolver3Ptr = std::shared_ptr< PICSolver3 > |
Shared pointer type for the PICSolver3. More... | |
using | ENOLevelSetSolver2Ptr = std::shared_ptr< ENOLevelSetSolver2 > |
using | ENOLevelSetSolver3Ptr = std::shared_ptr< ENOLevelSetSolver3 > |
using | FMMLevelSetSolver2Ptr = std::shared_ptr< FMMLevelSetSolver2 > |
Shared pointer type for the FMMLevelSetSolver2. More... | |
using | FMMLevelSetSolver3Ptr = std::shared_ptr< FMMLevelSetSolver3 > |
Shared pointer type for the FMMLevelSetSolver3. More... | |
using | IterativeLevelSetSolver2Ptr = std::shared_ptr< IterativeLevelSetSolver2 > |
using | IterativeLevelSetSolver3Ptr = std::shared_ptr< IterativeLevelSetSolver3 > |
using | LevelSetLiquidSolver2Ptr = std::shared_ptr< LevelSetLiquidSolver2 > |
Shared pointer type for the LevelSetLiquidSolver2. More... | |
using | LevelSetLiquidSolver3Ptr = std::shared_ptr< LevelSetLiquidSolver3 > |
Shared pointer type for the LevelSetLiquidSolver3. More... | |
using | LevelSetSolver2Ptr = std::shared_ptr< LevelSetSolver2 > |
Shared pointer type for the LevelSetSolver2. More... | |
using | LevelSetSolver3Ptr = std::shared_ptr< LevelSetSolver3 > |
Shared pointer type for the LevelSetSolver3. More... | |
using | UpwindLevelSetSolver2Ptr = std::shared_ptr< UpwindLevelSetSolver2 > |
using | UpwindLevelSetSolver3Ptr = std::shared_ptr< UpwindLevelSetSolver3 > |
using | ParticleSystemSolver2Ptr = std::shared_ptr< ParticleSystemSolver2 > |
Shared pointer type for the ParticleSystemSolver2. More... | |
using | ParticleSystemSolver3Ptr = std::shared_ptr< ParticleSystemSolver3 > |
Shared pointer type for the ParticleSystemSolver3. More... | |
using | PCISPHSolver2Ptr = std::shared_ptr< PCISPHSolver2 > |
Shared pointer type for the PCISPHSolver2. More... | |
using | PCISPHSolver3Ptr = std::shared_ptr< PCISPHSolver3 > |
Shared pointer type for the PCISPHSolver3. More... | |
using | SPHSolver2Ptr = std::shared_ptr< SPHSolver2 > |
Shared pointer type for the SPHSolver2. More... | |
using | SPHSolver3Ptr = std::shared_ptr< SPHSolver3 > |
Shared pointer type for the SPHSolver3. More... | |
using | SPHSystemData2Ptr = std::shared_ptr< SPHSystemData2 > |
Shared pointer for the SPHSystemData2 type. More... | |
using | SPHSystemData3Ptr = std::shared_ptr< SPHSystemData3 > |
Shared pointer for the SPHSystemData3 type. More... | |
using | CustomImplicitSurface2Ptr = std::shared_ptr< CustomImplicitSurface2 > |
Shared pointer type for the CustomImplicitSurface2. More... | |
using | CustomImplicitSurface3Ptr = std::shared_ptr< CustomImplicitSurface3 > |
Shared pointer type for the CustomImplicitSurface3. More... | |
using | ImplicitSurface2Ptr = std::shared_ptr< ImplicitSurface2 > |
Shared pointer type for the ImplicitSurface2. More... | |
using | ImplicitSurface3Ptr = std::shared_ptr< ImplicitSurface3 > |
Shared pointer type for the ImplicitSurface3. More... | |
using | ImplicitSurfaceSet2Ptr = std::shared_ptr< ImplicitSurfaceSet2 > |
Shared pointer type for the ImplicitSurfaceSet2. More... | |
using | ImplicitSurfaceSet3Ptr = std::shared_ptr< ImplicitSurfaceSet3 > |
Shared pointer type for the ImplicitSurfaceSet3. More... | |
using | Surface2Ptr = std::shared_ptr< Surface2 > |
Shared pointer for the Surface2 type. More... | |
using | Surface3Ptr = std::shared_ptr< Surface3 > |
Shared pointer for the Surface3 type. More... | |
using | SurfaceSet2Ptr = std::shared_ptr< SurfaceSet2 > |
Shared pointer for the SurfaceSet2 type. More... | |
using | SurfaceSet3Ptr = std::shared_ptr< SurfaceSet3 > |
Shared pointer for the SurfaceSet3 type. More... | |
using | SurfaceToImplicit2Ptr = std::shared_ptr< SurfaceToImplicit2 > |
Shared pointer for the SurfaceToImplicit2 type. More... | |
using | SurfaceToImplicit3Ptr = std::shared_ptr< SurfaceToImplicit3 > |
Shared pointer for the SurfaceToImplicit3. More... | |
template<typename BlasType > | |
using | MGRelaxFunc = std::function< void(const typename BlasType::MatrixType &A, const typename BlasType::VectorType &b, unsigned int numberOfIterations, double maxTolerance, typename BlasType::VectorType *x, typename BlasType::VectorType *buffer)> |
Multi-grid relax function type. More... | |
template<typename BlasType > | |
using | MGRestrictFunc = std::function< void(const typename BlasType::VectorType &finer, typename BlasType::VectorType *coarser)> |
Multi-grid restriction function type. More... | |
template<typename BlasType > | |
using | MGCorrectFunc = std::function< void(const typename BlasType::VectorType &coarser, typename BlasType::VectorType *finer)> |
Multi-grid correction function type. More... | |
template<typename T > | |
using | Vector2 = Vector< T, 2 > |
Type alias for two dimensional vector. More... | |
using | Vector2F = Vector2< float > |
Float-type 2D vector. More... | |
using | Vector2D = Vector2< double > |
Double-type 2D vector. More... | |
template<typename T > | |
using | Vector3 = Vector< T, 3 > |
Type alias for three dimensional vector. More... | |
using | Vector3F = Vector3< float > |
Float-type 3D vector. More... | |
using | Vector3D = Vector3< double > |
Double-type 3D vector. More... | |
template<typename T > | |
using | Vector4 = Vector< T, 4 > |
Type alias for four dimensional vector. More... | |
using | Vector4F = Vector4< float > |
Float-type 4D vector. More... | |
using | Vector4D = Vector4< double > |
Double-type 4D vector. More... | |
template<typename T , typename E , typename U > | |
using | VectorTypeCast = VectorUnaryOp< T, E, TypeCast< U, T > > |
Matrix expression for type casting. More... | |
template<typename T , typename E1 , typename E2 > | |
using | VectorAdd = VectorBinaryOp< T, E1, E2, std::plus< T > > |
Vector-vector addition expression. More... | |
template<typename T , typename E > | |
using | VectorScalarAdd = VectorScalarBinaryOp< T, E, std::plus< T > > |
Vector-scalar addition expression. More... | |
template<typename T , typename E1 , typename E2 > | |
using | VectorSub = VectorBinaryOp< T, E1, E2, std::minus< T > > |
Vector-vector addition expression. More... | |
template<typename T , typename E > | |
using | VectorScalarSub = VectorScalarBinaryOp< T, E, std::minus< T > > |
Vector-scalar subtraction expression. More... | |
template<typename T , typename E > | |
using | VectorScalarRSub = VectorScalarBinaryOp< T, E, RMinus< T > > |
Scalar-vector subtraction expression. More... | |
template<typename T , typename E1 , typename E2 > | |
using | VectorMul = VectorBinaryOp< T, E1, E2, std::multiplies< T > > |
Element-wise vector-vector multiplication expression. More... | |
template<typename T , typename E > | |
using | VectorScalarMul = VectorScalarBinaryOp< T, E, std::multiplies< T > > |
Vector-scalar multiplication expression. More... | |
template<typename T , typename E1 , typename E2 > | |
using | VectorDiv = VectorBinaryOp< T, E1, E2, std::divides< T > > |
Element-wise vector-vector division expression. More... | |
template<typename T , typename E > | |
using | VectorScalarDiv = VectorScalarBinaryOp< T, E, std::divides< T > > |
Vector-scalar division expression. More... | |
template<typename T , typename E > | |
using | VectorScalarRDiv = VectorScalarBinaryOp< T, E, RDivides< T > > |
Scalar-vector division expression. More... | |
using | VectorNF = VectorN< float > |
Float-type N-D vector. More... | |
using | VectorND = VectorN< double > |
Double-type N-D vector. More... | |
Enumerations | |
enum | LogLevel : uint8_t { LogLevel::All = 0, LogLevel::Debug = 1, LogLevel::Info = 2, LogLevel::Warn = 3, LogLevel::Error = 4, LogLevel::Off = 5 } |
enum | ExecutionPolicy { ExecutionPolicy::Serial, ExecutionPolicy::Parallel } |
Execution policy tag. More... | |
Functions | |
Size2 | TupleToSize2 (pybind11::tuple tuple) |
Size2 | TupleToSize2 (pybind11::list list) |
Size3 | TupleToSize3 (pybind11::tuple tuple) |
Size3 | TupleToSize3 (pybind11::list list) |
Point2UI | TupleToPoint2UI (pybind11::tuple tuple) |
Point2UI | TupleToPoint2UI (pybind11::list list) |
Point3UI | TupleToPoint3UI (pybind11::tuple tuple) |
Point3UI | TupleToPoint3UI (pybind11::list list) |
pybind11::tuple | Size2ToTuple (const Size2 &size) |
pybind11::tuple | Size3ToTuple (const Size3 &size) |
template<typename T , size_t N> | |
Vector< T, N > | TupleToVector (pybind11::tuple tuple) |
template<typename T , size_t N> | |
Vector< T, N > | TupleToVector (pybind11::list list) |
template<typename T > | |
Quaternion< T > | TupleToQuaternion (pybind11::tuple tuple) |
template<typename T > | |
Quaternion< T > | TupleToQuaternion (pybind11::list list) |
Vector2F | TupleToVector2F (pybind11::tuple tuple) |
Vector2F | TupleToVector2F (pybind11::list list) |
Vector3F | TupleToVector3F (pybind11::tuple tuple) |
Vector3F | TupleToVector3F (pybind11::list list) |
Vector4F | TupleToVector4F (pybind11::tuple tuple) |
Vector4F | TupleToVector4F (pybind11::list list) |
QuaternionF | TupleToQuaternionF (pybind11::tuple tuple) |
QuaternionF | TupleToQuaternionF (pybind11::list list) |
Vector2D | TupleToVector2D (pybind11::tuple tuple) |
Vector2D | TupleToVector2D (pybind11::list list) |
Vector3D | TupleToVector3D (pybind11::tuple tuple) |
Vector3D | TupleToVector3D (pybind11::list list) |
Vector4D | TupleToVector4D (pybind11::tuple tuple) |
Vector4D | TupleToVector4D (pybind11::list list) |
template<typename T > | |
pybind11::tuple | Vector2ToTuple (const Vector< T, 2 > &vec) |
template<typename T > | |
pybind11::tuple | Vector3ToTuple (const Vector< T, 3 > &vec) |
template<typename T > | |
pybind11::tuple | Vector4ToTuple (const Vector< T, 4 > &vec) |
QuaternionD | TupleToQuaternionD (pybind11::tuple tuple) |
QuaternionD | TupleToQuaternionD (pybind11::list list) |
Size2 | ObjectToSize2 (const pybind11::object &obj) |
Size3 | ObjectToSize3 (const pybind11::object &obj) |
Point2UI | ObjectToPoint2UI (const pybind11::object &obj) |
Point3UI | ObjectToPoint3UI (const pybind11::object &obj) |
Vector2F | ObjectToVector2F (const pybind11::object &obj) |
Vector2D | ObjectToVector2D (const pybind11::object &obj) |
Vector3F | ObjectToVector3F (const pybind11::object &obj) |
Vector3D | ObjectToVector3D (const pybind11::object &obj) |
Vector4F | ObjectToVector4F (const pybind11::object &obj) |
Vector4D | ObjectToVector4D (const pybind11::object &obj) |
QuaternionF | ObjectToQuaternionF (const pybind11::object &obj) |
QuaternionD | ObjectToQuaternionD (const pybind11::object &obj) |
void | ParseGridResizeParams (pybind11::args args, pybind11::kwargs kwargs, Size2 &resolution, Vector2D &gridSpacing, Vector2D &gridOrigin) |
void | ParseGridResizeParams (pybind11::args args, pybind11::kwargs kwargs, Size3 &resolution, Vector3D &gridSpacing, Vector3D &gridOrigin) |
template<typename ArrayType , typename T > | |
void | SetRange1 (size_t size, const T &value, ArrayType *output) |
Assigns value to 1-D array output with size . More... | |
template<typename ArrayType , typename T > | |
void | SetRange1 (size_t begin, size_t end, const T &value, ArrayType *output) |
Assigns value to 1-D array output from begin to end . More... | |
template<typename ArrayType1 , typename ArrayType2 > | |
void | CopyRange1 (const ArrayType1 &input, size_t size, ArrayType2 *output) |
Copies input array to output array with size . More... | |
template<typename ArrayType1 , typename ArrayType2 > | |
void | CopyRange1 (const ArrayType1 &input, size_t begin, size_t end, ArrayType2 *output) |
Copies input array to output array from begin to end . More... | |
template<typename ArrayType1 , typename ArrayType2 > | |
void | CopyRange2 (const ArrayType1 &input, size_t sizeX, size_t sizeY, ArrayType2 *output) |
Copies 2-D input array to output array with sizeX and sizeY . More... | |
template<typename ArrayType1 , typename ArrayType2 > | |
void | CopyRange2 (const ArrayType1 &input, size_t beginX, size_t endX, size_t beginY, size_t endY, ArrayType2 *output) |
Copies 2-D input array to output array from (beginX , beginY ) to (endX , endY ). More... | |
template<typename ArrayType1 , typename ArrayType2 > | |
void | CopyRange3 (const ArrayType1 &input, size_t sizeX, size_t sizeY, size_t sizeZ, ArrayType2 *output) |
Copies 3-D input array to output array with sizeX and sizeY . More... | |
template<typename ArrayType1 , typename ArrayType2 > | |
void | CopyRange3 (const ArrayType1 &input, size_t beginX, size_t endX, size_t beginY, size_t endY, size_t beginZ, size_t endZ, ArrayType2 *output) |
Copies 3-D input array to output array from (beginX , beginY , beginZ ) to (endX , endY , endZ ). More... | |
template<typename T > | |
void | ExtrapolateToRegion (const ConstArrayAccessor2< T > &input, const ConstArrayAccessor2< char > &valid, unsigned int numberOfIterations, ArrayAccessor2< T > output) |
Extrapolates 2-D input data from 'valid' (1) to 'invalid' (0) region. More... | |
template<typename T > | |
void | ExtrapolateToRegion (const ConstArrayAccessor3< T > &input, const ConstArrayAccessor3< char > &valid, unsigned int numberOfIterations, ArrayAccessor3< T > output) |
Extrapolates 3-D input data from 'valid' (1) to 'invalid' (0) region. More... | |
template<typename ArrayType > | |
void | ConvertToCSV (const ArrayType &data, std::ostream *stream) |
Converts 2-D array to Comma Separated Value (CSV) stream. More... | |
Vector2D | Gradient2 (const ConstArrayAccessor2< double > &data, const Vector2D &gridSpacing, size_t i, size_t j) |
Returns 2-D gradient vector from given 2-D scalar grid-like array data , gridSpacing , and array index (i , j ). More... | |
std::array< Vector2D, 2 > | Gradient2 (const ConstArrayAccessor2< Vector2D > &data, const Vector2D &gridSpacing, size_t i, size_t j) |
Returns 2-D gradient vectors from given 2-D vector grid-like array data , gridSpacing , and array index (i , j ). More... | |
Vector3D | Gradient3 (const ConstArrayAccessor3< double > &data, const Vector3D &gridSpacing, size_t i, size_t j, size_t k) |
Returns 3-D gradient vector from given 3-D scalar grid-like array data , gridSpacing , and array index (i , j , k ). More... | |
std::array< Vector3D, 3 > | Gradient3 (const ConstArrayAccessor3< Vector3D > &data, const Vector3D &gridSpacing, size_t i, size_t j, size_t k) |
Returns 3-D gradient vectors from given 3-D vector grid-like array data , gridSpacing , and array index (i , j , k ). More... | |
double | Laplacian2 (const ConstArrayAccessor2< double > &data, const Vector2D &gridSpacing, size_t i, size_t j) |
Returns Laplacian value from given 2-D scalar grid-like array data , gridSpacing , and array index (i , j ). More... | |
Vector2D | Laplacian2 (const ConstArrayAccessor2< Vector2D > &data, const Vector2D &gridSpacing, size_t i, size_t j) |
Returns 2-D Laplacian vectors from given 2-D vector grid-like array data , gridSpacing , and array index (i , j ). More... | |
double | Laplacian3 (const ConstArrayAccessor3< double > &data, const Vector3D &gridSpacing, size_t i, size_t j, size_t k) |
Returns Laplacian value from given 3-D scalar grid-like array data , gridSpacing , and array index (i , j , k ). More... | |
Vector3D | Laplacian3 (const ConstArrayAccessor3< Vector3D > &data, const Vector3D &gridSpacing, size_t i, size_t j, size_t k) |
Returns 3-D Laplacian vectors from given 3-D vector grid-like array data , gridSpacing , and array index (i , j , k ). More... | |
void | TriangleMeshToSDF (const TriangleMesh3 &mesh, ScalarGrid3 *sdf, const unsigned int exactBand=1) |
Generates signed-distance field out of given triangle mesh. More... | |
template<typename T > | |
bool | IsInsideSDF (T phi) |
Returns true if phi is inside the implicit surface (< 0). More... | |
template<typename T > | |
T | SmearedHeavisideSDF (T phi) |
Returns smeared Heaviside function. More... | |
template<typename T > | |
T | SmearedDeltaSDF (T phi) |
Returns smeared delta function. More... | |
template<typename T > | |
T | FractionInsideSDF (T phi0, T phi1) |
Returns the fraction occupied by the implicit surface. More... | |
template<typename T > | |
void | CycleArray (T *arr, int size) |
template<typename T > | |
T | FractionInside (T phiBottomLeft, T phiBottomRight, T phiTopLeft, T phiTopRight) |
Returns the fraction occupied by the implicit surface. More... | |
template<typename T > | |
T | DistanceToZeroLevelSet (T phi0, T phi1) |
void | MarchingCubes (const ConstArrayAccessor3< double > &grid, const Vector3D &gridSize, const Vector3D &origin, TriangleMesh3 *mesh, double isoValue=0, int bndFlag=DIRECTION_ALL) |
Computes marching cubes and extract triangle mesh from grid. More... | |
template<typename BLASType > | |
void | CG (const typename BLASType::MatrixType &A, const typename BLASType::VectorType &b, unsigned int maxNumberOfIterations, double tolerance, typename BLASType::VectorType *x, typename BLASType::VectorType *r, typename BLASType::VectorType *d, typename BLASType::VectorType *q, typename BLASType::VectorType *s, unsigned int *lastNumberOfIterations, double *lastResidualNorm) |
Solves conjugate gradient. More... | |
template<typename BLASType , typename PrecondType > | |
void | PCG (const typename BLASType::MatrixType &A, const typename BLASType::VectorType &b, unsigned int maxNumberOfIterations, double tolerance, PrecondType *M, typename BLASType::VectorType *x, typename BLASType::VectorType *r, typename BLASType::VectorType *d, typename BLASType::VectorType *q, typename BLASType::VectorType *s, unsigned int *lastNumberOfIterations, double *lastResidualNorm) |
Solves pre-conditioned conjugate gradient. More... | |
template<typename T > | |
bool | Similar (T x, T y, T eps=std::numeric_limits< T >::epsilon()) |
Returns true if x and y are similar. More... | |
template<typename T > | |
T | Sign (T x) |
Returns the sign of the value. More... | |
template<typename T > | |
T | AbsMin (T x, T y) |
Returns the absolute minimum value among the two inputs. More... | |
template<typename T > | |
T | AbsMax (T x, T y) |
Returns the absolute maximum value among the two inputs. More... | |
template<typename T > | |
T | AbsMinN (const T *x, size_t n) |
Returns absolute minimum among n-elements. More... | |
template<typename T > | |
T | AbsMaxN (const T *x, size_t n) |
Returns absolute maximum among n-elements. More... | |
template<typename T > | |
size_t | ArgMin2 (T x, T y) |
template<typename T > | |
size_t | ArgMax2 (T x, T y) |
template<typename T > | |
size_t | ArgMin3 (T x, T y, T z) |
template<typename T > | |
size_t | ArgMax3 (T x, T y, T z) |
template<typename T > | |
T | Square (T x) |
Returns the square of x . More... | |
template<typename T > | |
T | Cubic (T x) |
Returns the cubic of x . More... | |
template<typename T > | |
T | Clamp (T val, T low, T high) |
Returns the clamped value. More... | |
template<typename T > | |
T | DegreesToRadians (T angleInDegrees) |
Converts degrees to radians. More... | |
template<typename T > | |
T | RadiansToDegrees (T angleInRadians) |
Converts radians to degrees. More... | |
template<typename T > | |
void | GetBarycentric (T x, ssize_t iLow, ssize_t iHigh, ssize_t *i, T *t) |
Gets the barycentric coordinate. More... | |
template<typename S , typename T > | |
S | Lerp (const S &f0, const S &f1, T t) |
Computes linear interpolation. More... | |
template<typename S , typename T > | |
S | BiLerp (const S &f00, const S &f10, const S &f01, const S &f11, T tx, T ty) |
Computes bilinear interpolation. More... | |
template<typename S , typename T > | |
S | TriLerp (const S &f000, const S &f100, const S &f010, const S &f110, const S &f001, const S &f101, const S &f011, const S &f111, T tx, T ty, T tz) |
Computes trilinear interpolation. More... | |
template<typename S , typename T > | |
S | CatmullRom (const S &f0, const S &f1, const S &f2, const S &f3, T t) |
Computes Catmull-Rom interpolation. More... | |
template<typename T > | |
T | MonotonicCatmullRom (const T &f0, const T &f1, const T &f2, const T &f3, T t) |
Computes monotonic Catmull-Rom interpolation. More... | |
template<typename T > | |
std::array< T, 2 > | Upwind1 (T *d0, T dx) |
1st order upwind differencing. d0[1] is the origin. More... | |
template<typename T > | |
T | Upwind1 (T *d0, T dx, bool isDirectionPositive) |
1st order upwind differencing. d0[1] is the origin. More... | |
template<typename T > | |
T | CD2 (T *d0, T dx) |
2nd order central differencing. d0[1] is the origin. More... | |
template<typename T > | |
std::array< T, 2 > | ENO3 (T *d0, T dx) |
3rd order ENO. d0[3] is the origin. More... | |
template<typename T > | |
T | ENO3 (T *d0, T dx, bool isDirectionPositive) |
3rd order ENO. d0[3] is the origin. More... | |
template<typename T > | |
std::array< T, 2 > | WENO5 (T *v, T h, T eps=1.0e-8) |
5th order WENO. d0[3] is the origin. More... | |
template<typename T > | |
T | WENO5 (T *v, T h, bool is_velocity_positive, T eps=1.0e-8) |
5th order WENO. d0[3] is the origin. More... | |
template<typename T > | |
Quaternion< T > | Slerp (const Quaternion< T > &a, const Quaternion< T > &b, T t) |
Computes spherical linear interpolation. More... | |
template<typename T > | |
Vector< T, 3 > | operator* (const Quaternion< T > &q, const Vector< T, 3 > &v) |
Returns quaternion q * vector v. More... | |
template<typename T > | |
Quaternion< T > | operator* (const Quaternion< T > &a, const Quaternion< T > &b) |
Returns quaternion a times quaternion b. More... | |
template<typename T > | |
void | SVD (const MatrixMxN< T > &a, MatrixMxN< T > &u, VectorN< T > &w, MatrixMxN< T > &v) |
Singular value decomposition (SVD). More... | |
template<typename T , size_t M, size_t N> | |
void | SVD (const Matrix< T, M, N > &a, Matrix< T, M, N > &u, Vector< T, N > &w, Matrix< T, N, N > &v) |
Singular value decomposition (SVD). More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator- (const Matrix< T, 2, 2 > &a) |
Returns a matrix with opposite sign. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator+ (const Matrix< T, 2, 2 > &a, const Matrix< T, 2, 2 > &b) |
Returns a + b (element-size). More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator+ (const Matrix< T, 2, 2 > &a, const T b) |
Returns a + b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator+ (const T a, const Matrix< T, 2, 2 > &b) |
Returns a' + b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator- (const Matrix< T, 2, 2 > &a, const Matrix< T, 2, 2 > &b) |
Returns a - b (element-size). More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator- (const Matrix< T, 2, 2 > &a, T b) |
Returns a - b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator- (T a, const Matrix< T, 2, 2 > &b) |
Returns a' - b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator* (const Matrix< T, 2, 2 > &a, T b) |
Returns a * b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator* (T a, const Matrix< T, 2, 2 > &b) |
Returns a' * b, where every element of matrix a' is a. More... | |
template<typename T > | |
Vector2< T > | operator* (const Matrix< T, 2, 2 > &a, const Vector2< T > &b) |
Returns a * b. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator* (const Matrix< T, 2, 2 > &a, const Matrix< T, 2, 2 > &b) |
Returns a * b. More... | |
template<typename T > | |
Matrix< T, 2, 2 > | operator/ (const Matrix< T, 2, 2 > &a, T b) |
template<typename T > | |
Matrix< T, 2, 2 > | operator/ (T a, const Matrix< T, 2, 2 > &b) |
template<typename T > | |
Matrix2x2< T > | operator/ (const Matrix2x2< T > &a, T b) |
Returns a' / b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix2x2< T > | operator/ (const T &a, const Matrix2x2< T > &b) |
Returns a / b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator- (const Matrix< T, 3, 3 > &a) |
Returns a matrix with opposite sign. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator+ (const Matrix< T, 3, 3 > &a, const Matrix< T, 3, 3 > &b) |
Returns a + b (element-size). More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator+ (const Matrix< T, 3, 3 > &a, T b) |
Returns a + b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator+ (T a, const Matrix< T, 3, 3 > &b) |
Returns a' + b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator- (const Matrix< T, 3, 3 > &a, const Matrix< T, 3, 3 > &b) |
Returns a - b (element-size). More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator- (const Matrix< T, 3, 3 > &a, T b) |
Returns a - b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator- (T a, const Matrix< T, 3, 3 > &b) |
Returns a' - b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator* (const Matrix< T, 3, 3 > &a, T b) |
Returns a * b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator* (T a, const Matrix< T, 3, 3 > &b) |
Returns a' * b, where every element of matrix a' is a. More... | |
template<typename T > | |
Vector< T, 3 > | operator* (const Matrix< T, 3, 3 > &a, const Vector< T, 3 > &b) |
template<typename T > | |
Matrix< T, 3, 3 > | operator* (const Matrix< T, 3, 3 > &a, const Matrix< T, 3, 3 > &b) |
Returns a * b. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator/ (const Matrix< T, 3, 3 > &a, T b) |
Returns a' / b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 3, 3 > | operator/ (T a, const Matrix< T, 3, 3 > &b) |
Returns a / b', where every element of matrix b' is b. More... | |
template<typename T > | |
Vector3< T > | operator* (const Matrix< T, 3, 3 > &a, const Vector3< T > &b) |
Returns a * b. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator- (const Matrix< T, 4, 4 > &a) |
Returns a matrix with opposite sign. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator+ (const Matrix< T, 4, 4 > &a, const Matrix< T, 4, 4 > &b) |
Returns a + b (element-size). More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator+ (const Matrix< T, 4, 4 > &a, T b) |
Returns a + b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator+ (T a, const Matrix< T, 4, 4 > &b) |
Returns a' + b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator- (const Matrix< T, 4, 4 > &a, const Matrix< T, 4, 4 > &b) |
Returns a - b (element-size). More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator- (const Matrix< T, 4, 4 > &a, T b) |
Returns a - b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator- (T a, const Matrix< T, 4, 4 > &b) |
Returns a' - b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator* (const Matrix< T, 4, 4 > &a, T b) |
Returns a * b', where every element of matrix b' is b. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator* (T a, const Matrix< T, 4, 4 > &b) |
Returns a' * b, where every element of matrix a' is a. More... | |
template<typename T > | |
Vector< T, 3 > | operator* (const Matrix< T, 4, 4 > &a, const Vector< T, 3 > &b) |
template<typename T > | |
Vector< T, 4 > | operator* (const Matrix< T, 4, 4 > &a, const Vector< T, 4 > &b) |
template<typename T > | |
Matrix< T, 4, 4 > | operator* (const Matrix< T, 4, 4 > &a, const Matrix< T, 4, 4 > &b) |
Returns a * b. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator/ (const Matrix< T, 4, 4 > &a, T b) |
Returns a' / b, where every element of matrix a' is a. More... | |
template<typename T > | |
Matrix< T, 4, 4 > | operator/ (const T &a, const Matrix< T, 4, 4 > &b) |
Returns a / b', where every element of matrix b' is b. More... | |
template<typename T > | |
Vector3< T > | operator* (const Matrix< T, 4, 4 > &a, const Vector3< T > &b) |
Returns a * b. More... | |
template<typename T > | |
Vector4< T > | operator* (const Matrix< T, 4, 4 > &a, const Vector4< T > &b) |
Returns a * b. More... | |
template<typename T > | |
MatrixCSR< T > | operator- (const MatrixCSR< T > &a) |
template<typename T > | |
MatrixCSR< T > | operator+ (const MatrixCSR< T > &a, const MatrixCSR< T > &b) |
template<typename T > | |
MatrixCSR< T > | operator+ (const MatrixCSR< T > &a, T b) |
template<typename T > | |
MatrixCSR< T > | operator+ (T a, const MatrixCSR< T > &b) |
template<typename T > | |
MatrixCSR< T > | operator- (const MatrixCSR< T > &a, const MatrixCSR< T > &b) |
template<typename T > | |
MatrixCSR< T > | operator- (const MatrixCSR< T > &a, T b) |
template<typename T > | |
MatrixCSR< T > | operator- (T a, const MatrixCSR< T > &b) |
template<typename T > | |
MatrixCSR< T > | operator* (const MatrixCSR< T > &a, T b) |
template<typename T > | |
MatrixCSR< T > | operator* (T a, const MatrixCSR< T > &b) |
template<typename T , typename VE > | |
MatrixCSRVectorMul< T, VE > | operator* (const MatrixCSR< T > &a, const VectorExpression< T, VE > &b) |
template<typename T , typename ME > | |
MatrixCSRMatrixMul< T, ME > | operator* (const MatrixCSR< T > &a, const MatrixExpression< T, ME > &b) |
template<typename T > | |
MatrixCSR< T > | operator/ (const MatrixCSR< T > &a, T b) |
template<typename T > | |
MatrixCSR< T > | operator/ (T a, const MatrixCSR< T > &b) |
template<typename T , typename E > | |
MatrixScalarMul< T, E > | operator- (const MatrixExpression< T, E > &a) |
Returns a matrix with opposite sign. More... | |
template<typename T , typename E1 , typename E2 > | |
MatrixAdd< T, E1, E2 > | operator+ (const MatrixExpression< T, E1 > &a, const MatrixExpression< T, E2 > &b) |
Returns a + b (element-size). More... | |
template<typename T , typename E > | |
MatrixScalarAdd< T, E > | operator+ (const MatrixExpression< T, E > &a, T b) |
Returns a + b', where every element of matrix b' is b. More... | |
template<typename T , typename E > | |
MatrixScalarAdd< T, E > | operator+ (T a, const MatrixExpression< T, E > &b) |
Returns a' + b, where every element of matrix a' is a. More... | |
template<typename T , typename E1 , typename E2 > | |
MatrixSub< T, E1, E2 > | operator- (const MatrixExpression< T, E1 > &a, const MatrixExpression< T, E2 > &b) |
Returns a - b (element-size). More... | |
template<typename T , typename E > | |
MatrixScalarSub< T, E > | operator- (const MatrixExpression< T, E > &a, T b) |
Returns a - b', where every element of matrix b' is b. More... | |
template<typename T , typename E > | |
MatrixScalarRSub< T, E > | operator- (T a, const MatrixExpression< T, E > &b) |
Returns a' - b, where every element of matrix a' is a. More... | |
template<typename T , typename E > | |
MatrixScalarMul< T, E > | operator* (const MatrixExpression< T, E > &a, T b) |
Returns a * b', where every element of matrix b' is b. More... | |
template<typename T , typename E > | |
MatrixScalarMul< T, E > | operator* (T a, const MatrixExpression< T, E > &b) |
Returns a' * b, where every element of matrix a' is a. More... | |
template<typename T , typename ME , typename VE > | |
MatrixVectorMul< T, ME, VE > | operator* (const MatrixExpression< T, ME > &a, const VectorExpression< T, VE > &b) |
Returns a * b. More... | |
template<typename T , typename E1 , typename E2 > | |
MatrixMul< T, E1, E2 > | operator* (const MatrixExpression< T, E1 > &a, const MatrixExpression< T, E2 > &b) |
Returns a * b. More... | |
template<typename T , typename E > | |
MatrixScalarDiv< T, E > | operator/ (const MatrixExpression< T, E > &a, T b) |
Returns a' / b, where every element of matrix a' is a. More... | |
template<typename T , typename E > | |
MatrixScalarRDiv< T, E > | operator/ (T a, const MatrixExpression< T, E > &b) |
Returns a / b', where every element of matrix b' is b. More... | |
template<typename T > | |
Point< T, 2 > | operator+ (const Point< T, 2 > &a) |
Positive sign operator. More... | |
template<typename T > | |
Point< T, 2 > | operator- (const Point< T, 2 > &a) |
Negative sign operator. More... | |
template<typename T > | |
Point< T, 2 > | operator+ (const Point< T, 2 > &a, T b) |
template<typename T > | |
Point< T, 2 > | operator+ (T a, const Point< T, 2 > &b) |
Computes (a, a) + (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | operator+ (const Point< T, 2 > &a, const Point< T, 2 > &b) |
Computes (a.x, a.y) + (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | operator- (const Point< T, 2 > &a, T b) |
Computes (a.x, a.y) - (b, b). More... | |
template<typename T > | |
Point< T, 2 > | operator- (T a, const Point< T, 2 > &b) |
Computes (a, a) - (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | operator- (const Point< T, 2 > &a, const Point< T, 2 > &b) |
Computes (a.x, a.y) - (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | operator* (const Point< T, 2 > &a, T b) |
Computes (a.x, a.y) * (b, b). More... | |
template<typename T > | |
Point< T, 2 > | operator* (T a, const Point< T, 2 > &b) |
Computes (a, a) * (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | operator* (const Point< T, 2 > &a, const Point< T, 2 > &b) |
Computes (a.x, a.y) * (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | operator/ (const Point< T, 2 > &a, T b) |
Computes (a.x, a.y) / (b, b). More... | |
template<typename T > | |
Point< T, 2 > | operator/ (T a, const Point< T, 2 > &b) |
Computes (a, a) / (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | operator/ (const Point< T, 2 > &a, const Point< T, 2 > &b) |
Computes (a.x, a.y) / (b.x, b.y). More... | |
template<typename T > | |
Point< T, 2 > | Min (const Point< T, 2 > &a, const Point< T, 2 > &b) |
Returns element-wise min point: (min(a.x, b.x), min(a.y, b.y)). More... | |
template<typename T > | |
Point< T, 2 > | Max (const Point< T, 2 > &a, const Point< T, 2 > &b) |
Returns element-wise max point: (max(a.x, b.x), max(a.y, b.y)). More... | |
template<typename T > | |
Point< T, 2 > | Clamp (const Point< T, 2 > &v, const Point< T, 2 > &low, const Point< T, 2 > &high) |
Returns element-wise clamped point. More... | |
template<typename T > | |
Point< T, 2 > | Ceil (const Point< T, 2 > &a) |
Returns element-wise ceiled point. More... | |
template<typename T > | |
Point< T, 2 > | Floor (const Point< T, 2 > &a) |
Returns element-wise floored point. More... | |
template<typename T > | |
Point< T, 3 > | operator+ (const Point< T, 3 > &a) |
Positive sign operator. More... | |
template<typename T > | |
Point< T, 3 > | operator- (const Point< T, 3 > &a) |
Negative sign operator. More... | |
template<typename T > | |
Point< T, 3 > | operator+ (const Point< T, 3 > &a, T b) |
template<typename T > | |
Point< T, 3 > | operator+ (T a, const Point< T, 3 > &b) |
Computes (a, a, a) + (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | operator+ (const Point< T, 3 > &a, const Point< T, 3 > &b) |
Computes (a.x, a.y, a.z) + (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | operator- (const Point< T, 3 > &a, T b) |
Computes (a.x, a.y, a.z) - (b, b, b). More... | |
template<typename T > | |
Point< T, 3 > | operator- (T a, const Point< T, 3 > &b) |
Computes (a, a, a) - (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | operator- (const Point< T, 3 > &a, const Point< T, 3 > &b) |
Computes (a.x, a.y, a.z) - (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | operator* (const Point< T, 3 > &a, T b) |
Computes (a.x, a.y, a.z) * (b, b, b). More... | |
template<typename T > | |
Point< T, 3 > | operator* (T a, const Point< T, 3 > &b) |
Computes (a, a, a) * (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | operator* (const Point< T, 3 > &a, const Point< T, 3 > &b) |
Computes (a.x, a.y, a.z) * (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | operator/ (const Point< T, 3 > &a, T b) |
Computes (a.x, a.y, a.z) / (b, b, b). More... | |
template<typename T > | |
Point< T, 3 > | operator/ (T a, const Point< T, 3 > &b) |
Computes (a, a, a) / (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | operator/ (const Point< T, 3 > &a, const Point< T, 3 > &b) |
Computes (a.x, a.y, a.z) / (b.x, b.y, b.z). More... | |
template<typename T > | |
Point< T, 3 > | Min (const Point< T, 3 > &a, const Point< T, 3 > &b) |
Returns element-wise min point. More... | |
template<typename T > | |
Point< T, 3 > | Max (const Point< T, 3 > &a, const Point< T, 3 > &b) |
Returns element-wise max point. More... | |
template<typename T > | |
Point< T, 3 > | Clamp (const Point< T, 3 > &v, const Point< T, 3 > &low, const Point< T, 3 > &high) |
Returns element-wise clamped point. More... | |
template<typename T > | |
Point< T, 3 > | Ceil (const Point< T, 3 > &a) |
Returns element-wise ceiled point. More... | |
template<typename T > | |
Point< T, 3 > | Floor (const Point< T, 3 > &a) |
Returns element-wise floored point. More... | |
template<typename T > | |
constexpr T | Zero () |
Zero for type T. More... | |
template<> | |
constexpr float | Zero< float > () |
Zero for float. More... | |
template<> | |
constexpr double | Zero< double > () |
Zero for double. More... | |
template<typename T > | |
constexpr T | One () |
One for type T. More... | |
template<> | |
constexpr float | One< float > () |
One for float. More... | |
template<> | |
constexpr double | One< double > () |
One for double. More... | |
template<typename T > | |
constexpr T | PI () |
PI for type T. More... | |
template<> | |
constexpr float | PI< float > () |
Pi for float. More... | |
template<> | |
constexpr double | PI< double > () |
Pi for double. More... | |
template<typename T > | |
constexpr T | HalfPI () |
PI/2 for type T. More... | |
template<> | |
constexpr float | HalfPI< float > () |
PI/2 for float. More... | |
template<> | |
constexpr double | HalfPI< double > () |
PI/2 for double. More... | |
template<typename T > | |
constexpr T | QuarterPI () |
PI/4 for type T. More... | |
template<> | |
constexpr float | QuarterPI< float > () |
PI/4 for float. More... | |
template<> | |
constexpr double | QuarterPI< double > () |
PI/4 for double. More... | |
template<class ForwardIter , class T , class Compare > | |
ForwardIter | BinaryFind (ForwardIter first, ForwardIter last, const T &value, Compare comp) |
fbs::Size2 | CubbyFlowToFlatbuffers (const Size2 &vec) |
fbs::Size3 | CubbyFlowToFlatbuffers (const Size3 &vec) |
fbs::Vector2D | CubbyFlowToFlatbuffers (const Vector2D &vec) |
fbs::Vector3D | CubbyFlowToFlatbuffers (const Vector3D &vec) |
Size2 | FlatbuffersToCubbyFlow (const fbs::Size2 &vec) |
Size3 | FlatbuffersToCubbyFlow (const fbs::Size3 &vec) |
Vector2D | FlatbuffersToCubbyFlow (const fbs::Vector2D &vec) |
Vector3D | FlatbuffersToCubbyFlow (const fbs::Vector3D &vec) |
template<typename GridType , typename FbsFactoryFunc , typename FbsGridType > | |
void | SerializeGrid (flatbuffers::FlatBufferBuilder *builder, const std::vector< GridType > &gridList, FbsFactoryFunc func, std::vector< flatbuffers::Offset< FbsGridType >> *fbsGridList) |
template<typename FbsGridList , typename GridType , typename FactoryFunc > | |
void | DeserializeGrid (FbsGridList *fbsGridList, FactoryFunc factoryFunc, std::vector< GridType > *gridList) |
template<typename BlasType > | |
MGResult | MGVCycle (const MGMatrix< BlasType > &A, MGParameters< BlasType > params, MGVector< BlasType > *x, MGVector< BlasType > *b, MGVector< BlasType > *buffer) |
template<typename BlasType > | |
MGResult | MGCycle (const MGMatrix< BlasType > &A, MGParameters< BlasType > params, MGVector< BlasType > *x, MGVector< BlasType > *b, MGVector< BlasType > *buffer) |
Performs Multi-grid with V-cycle. More... | |
template<typename RandomIterator , typename T > | |
void | ParallelFill (const RandomIterator &begin, const RandomIterator &end, const T &value, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Fills from begin to end with value in parallel. More... | |
template<typename IndexType , typename Function > | |
void | ParallelFor (IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Makes a for-loop from beginIndex to endIndex in parallel. More... | |
template<typename IndexType , typename Function > | |
void | ParallelRangeFor (IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Makes a range-loop from beginIndex to endIndex in parallel. More... | |
template<typename IndexType , typename Function > | |
void | ParallelFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Makes a 2D nested for-loop in parallel. More... | |
template<typename IndexType , typename Function > | |
void | ParallelRangeFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Makes a 2D nested range-loop in parallel. More... | |
template<typename IndexType , typename Function > | |
void | ParallelFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, IndexType beginIndexZ, IndexType endIndexZ, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Makes a 3D nested for-loop in parallel. More... | |
template<typename IndexType , typename Function > | |
void | ParallelRangeFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, IndexType beginIndexZ, IndexType endIndexZ, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Makes a 3D nested range-loop in parallel. More... | |
template<typename IndexType , typename Value , typename Function , typename Reduce > | |
Value | ParallelReduce (IndexType beginIndex, IndexType endIndex, const Value &identity, const Function &function, const Reduce &reduce, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Performs reduce operation in parallel. More... | |
template<typename RandomIterator > | |
void | ParallelSort (RandomIterator begin, RandomIterator end, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Sorts a container in parallel. More... | |
template<typename RandomIterator , typename CompareFunction > | |
void | ParallelSort (RandomIterator begin, RandomIterator end, CompareFunction compare, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
Sorts a container in parallel with a custom compare function. More... | |
void | SetMaxNumberOfThreads (unsigned int numThreads) |
Sets maximum number of threads to use. More... | |
unsigned int | GetMaxNumberOfThreads () |
Returns maximum number of threads to use. More... | |
Vector2D | ComputeDragForce (double dragCoefficient, double radius, const Vector2D &velocity) |
Vector3D | ComputeDragForce (double dragCoefficient, double radius, const Vector3D &velocity) |
template<size_t N> | |
Vector< double, N > | ProjectAndApplyFriction (const Vector< double, N > &vel, const Vector< double, N > &normal, double frictionCoefficient) |
double | ComputePressureFromEos (double density, double targetDensity, double eosScale, double eosExponent, double negativePressureScale) |
template<typename T > | |
Vector3< T > | UniformSampleCone (T u1, T u2, const Vector3< T > &axis, T angle) |
Returns randomly sampled direction within a cone. More... | |
template<typename T > | |
Vector3< T > | UniformSampleHemisphere (T u1, T u2, const Vector3< T > &normal) |
Returns randomly sampled point within a unit hemisphere. More... | |
template<typename T > | |
Vector3< T > | CosineWeightedSampleHemisphere (T u1, T u2, const Vector3< T > &normal) |
Returns weighted sampled point on a hemisphere. More... | |
template<typename T > | |
Vector3< T > | UniformSampleSphere (T u1, T u2) |
Returns randomly a point on a sphere. More... | |
template<typename T > | |
Vector2< T > | UniformSampleDisk (T u1, T u2) |
Returns randomly a point on a disk. More... | |
template<typename RandomIterator , typename T > | |
void | SerialFill (const RandomIterator &begin, const RandomIterator &end, const T &value) |
Fills from begin to end with value . More... | |
template<typename IndexType , typename Function > | |
void | SerialFor (IndexType beginIndex, IndexType endIndex, const Function &function) |
Makes a for-loop from beginIndex to endIndex. More... | |
template<typename IndexType , typename Function > | |
void | SerialFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, const Function &function) |
Makes a 2D nested for-loop. More... | |
template<typename IndexType , typename Function > | |
void | SerialFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, IndexType beginIndexZ, IndexType endIndexZ, const Function &function) |
Makes a 3D nested for-loop. More... | |
template<typename RandomIterator > | |
void | SerialSort (RandomIterator begin, RandomIterator end) |
Sorts a container. More... | |
template<typename RandomIterator , typename SortingFunction > | |
void | SerialSort (RandomIterator begin, RandomIterator end, const SortingFunction &sortingFunction) |
Sorts a container with a custom compare function. More... | |
template<typename T > | |
void | Serialize (const ConstArrayAccessor1< T > &array, std::vector< uint8_t > *buffer) |
Serializes data chunk using common schema. More... | |
template<typename T > | |
void | Deserialize (const std::vector< uint8_t > &buffer, Array1< T > *array) |
Deserializes buffer to data chunk using common schema. More... | |
void | Serialize (const Serializable *serializable, std::vector< uint8_t > *buffer) |
Serializes serializable object. More... | |
void | Serialize (const uint8_t *data, size_t size, std::vector< uint8_t > *buffer) |
Serializes data chunk using common schema. More... | |
void | Deserialize (const std::vector< uint8_t > &buffer, Serializable *serializable) |
Deserializes buffer to serializable object. More... | |
void | Deserialize (const std::vector< uint8_t > &buffer, std::vector< uint8_t > *data) |
Deserializes buffer to data chunk using common schema. More... | |
template<typename T > | |
Vector< T, 2 > | operator+ (const Vector< T, 2 > &a) |
Positive sign operator. More... | |
template<typename T > | |
Vector< T, 2 > | operator- (const Vector< T, 2 > &a) |
Negative sign operator. More... | |
template<typename T > | |
Vector< T, 2 > | operator+ (const Vector< T, 2 > &a, T b) |
template<typename T > | |
Vector< T, 2 > | operator+ (T a, const Vector< T, 2 > &b) |
Computes (a, a) + (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | operator+ (const Vector< T, 2 > &a, const Vector< T, 2 > &b) |
Computes (a.x, a.y) + (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | operator- (const Vector< T, 2 > &a, T b) |
Computes (a.x, a.y) - (b, b). More... | |
template<typename T > | |
Vector< T, 2 > | operator- (T a, const Vector< T, 2 > &b) |
Computes (a, a) - (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | operator- (const Vector< T, 2 > &a, const Vector< T, 2 > &b) |
Computes (a.x, a.y) - (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | operator* (const Vector< T, 2 > &a, T b) |
Computes (a.x, a.y) * (b, b). More... | |
template<typename T > | |
Vector< T, 2 > | operator* (T a, const Vector< T, 2 > &b) |
Computes (a, a) * (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | operator* (const Vector< T, 2 > &a, const Vector< T, 2 > &b) |
Computes (a.x, a.y) * (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | operator/ (const Vector< T, 2 > &a, T b) |
Computes (a.x, a.y) / (b, b). More... | |
template<typename T > | |
Vector< T, 2 > | operator/ (T a, const Vector< T, 2 > &b) |
Computes (a, a) / (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | operator/ (const Vector< T, 2 > &a, const Vector< T, 2 > &b) |
Computes (a.x, a.y) / (b.x, b.y). More... | |
template<typename T > | |
Vector< T, 2 > | Min (const Vector< T, 2 > &a, const Vector< T, 2 > &b) |
Returns element-wise min vector: (min(a.x, b.x), min(a.y, b.y)). More... | |
template<typename T > | |
Vector< T, 2 > | Max (const Vector< T, 2 > &a, const Vector< T, 2 > &b) |
Returns element-wise max vector: (max(a.x, b.x), max(a.y, b.y)). More... | |
template<typename T > | |
Vector< T, 2 > | Clamp (const Vector< T, 2 > &v, const Vector< T, 2 > &low, const Vector< T, 2 > &high) |
Returns element-wise clamped vector. More... | |
template<typename T > | |
Vector< T, 2 > | Ceil (const Vector< T, 2 > &a) |
Returns element-wise ceiled vector. More... | |
template<typename T > | |
Vector< T, 2 > | Floor (const Vector< T, 2 > &a) |
Returns element-wise floored vector. More... | |
template<typename T > | |
Vector< T, 2 > | MonotonicCatmullRom (const Vector< T, 2 > &v0, const Vector< T, 2 > &v1, const Vector< T, 2 > &v2, const Vector< T, 2 > &v3, T f) |
Computes monotonic Catmull-Rom interpolation. More... | |
template<> | |
constexpr Vector< float, 2 > | Zero< Vector< float, 2 > > () |
Returns float-type zero vector. More... | |
template<> | |
constexpr Vector< double, 2 > | Zero< Vector< double, 2 > > () |
Returns double-type zero vector. More... | |
template<typename T > | |
Vector< T, 3 > | operator+ (const Vector< T, 3 > &a) |
Positive sign operator. More... | |
template<typename T > | |
Vector< T, 3 > | operator- (const Vector< T, 3 > &a) |
Negative sign operator. More... | |
template<typename T > | |
Vector< T, 3 > | operator+ (const Vector< T, 3 > &a, T b) |
template<typename T > | |
Vector< T, 3 > | operator+ (T a, const Vector< T, 3 > &b) |
Computes (a, a, a) + (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | operator+ (const Vector< T, 3 > &a, const Vector< T, 3 > &b) |
Computes (a.x, a.y, a.z) + (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | operator- (const Vector< T, 3 > &a, T b) |
Computes (a.x, a.y, a.z) - (b, b, b). More... | |
template<typename T > | |
Vector< T, 3 > | operator- (T a, const Vector< T, 3 > &b) |
Computes (a, a, a) - (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | operator- (const Vector< T, 3 > &a, const Vector< T, 3 > &b) |
Computes (a.x, a.y, a.z) - (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | operator* (const Vector< T, 3 > &a, T b) |
Computes (a.x, a.y, a.z) * (b, b, b). More... | |
template<typename T > | |
Vector< T, 3 > | operator* (T a, const Vector< T, 3 > &b) |
Computes (a, a, a) * (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | operator* (const Vector< T, 3 > &a, const Vector< T, 3 > &b) |
Computes (a.x, a.y, a.z) * (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | operator/ (const Vector< T, 3 > &a, T b) |
Computes (a.x, a.y, a.z) / (b, b, b). More... | |
template<typename T > | |
Vector< T, 3 > | operator/ (T a, const Vector< T, 3 > &b) |
Computes (a, a, a) / (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | operator/ (const Vector< T, 3 > &a, const Vector< T, 3 > &b) |
Computes (a.x, a.y, a.z) / (b.x, b.y, b.z). More... | |
template<typename T > | |
Vector< T, 3 > | Min (const Vector< T, 3 > &a, const Vector< T, 3 > &b) |
Returns element-wise min vector. More... | |
template<typename T > | |
Vector< T, 3 > | Max (const Vector< T, 3 > &a, const Vector< T, 3 > &b) |
Returns element-wise max vector. More... | |
template<typename T > | |
Vector< T, 3 > | Clamp (const Vector< T, 3 > &v, const Vector< T, 3 > &low, const Vector< T, 3 > &high) |
Returns element-wise clamped vector. More... | |
template<typename T > | |
Vector< T, 3 > | Ceil (const Vector< T, 3 > &a) |
Returns element-wise ceiled vector. More... | |
template<typename T > | |
Vector< T, 3 > | Floor (const Vector< T, 3 > &a) |
Returns element-wise floored vector. More... | |
template<typename T > | |
Vector< T, 3 > | MonotonicCatmullRom (const Vector< T, 3 > &v0, const Vector< T, 3 > &v1, const Vector< T, 3 > &v2, const Vector< T, 3 > &v3, T f) |
template<> | |
constexpr Vector3F | Zero< Vector3F > () |
Returns float-type zero vector. More... | |
template<> | |
constexpr Vector3D | Zero< Vector3D > () |
Returns double-type zero vector. More... | |
template<typename T > | |
Vector3< T > | MonotonicCatmullRom (const Vector3< T > &v0, const Vector3< T > &v1, const Vector3< T > &v2, const Vector3< T > &v3, T f) |
Computes monotonic Catmull-Rom interpolation. More... | |
template<typename T > | |
Vector< T, 4 > | operator+ (const Vector< T, 4 > &a) |
Positive sign operator. More... | |
template<typename T > | |
Vector< T, 4 > | operator- (const Vector< T, 4 > &a) |
Negative sign operator. More... | |
template<typename T > | |
Vector< T, 4 > | operator+ (const Vector< T, 4 > &a, T b) |
template<typename T > | |
Vector< T, 4 > | operator+ (T a, const Vector< T, 4 > &b) |
Computes (a, a, a, a) + (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | operator+ (const Vector< T, 4 > &a, const Vector< T, 4 > &b) |
Computes (a.x, a.y, a.z, a.w) + (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | operator- (const Vector< T, 4 > &a, T b) |
Computes (a.x, a.y, a.z, a.w) - (b, b, b, b). More... | |
template<typename T > | |
Vector< T, 4 > | operator- (T a, const Vector< T, 4 > &b) |
Computes (a, a, a, a) - (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | operator- (const Vector< T, 4 > &a, const Vector< T, 4 > &b) |
Computes (a.x, a.y, a.z, a.w) - (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | operator* (const Vector< T, 4 > &a, T b) |
Computes (a.x, a.y, a.z, a.w) * (b, b, b, b). More... | |
template<typename T > | |
Vector< T, 4 > | operator* (T a, const Vector< T, 4 > &b) |
Computes (a, a, a, a) * (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | operator* (const Vector< T, 4 > &a, const Vector< T, 4 > &b) |
Computes (a.x, a.y, a.z, a.w) * (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | operator/ (const Vector< T, 4 > &a, T b) |
Computes (a.x, a.y, a.z, a.w) / (b, b, b, b). More... | |
template<typename T > | |
Vector< T, 4 > | operator/ (T a, const Vector< T, 4 > &b) |
Computes (a, a, a, a) / (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | operator/ (const Vector< T, 4 > &a, const Vector< T, 4 > &b) |
Computes (a.x, a.y, a.z, a.w) / (b.x, b.y, b.z, b.w). More... | |
template<typename T > | |
Vector< T, 4 > | Min (const Vector< T, 4 > &a, const Vector< T, 4 > &b) |
Returns element-wise min vector. More... | |
template<typename T > | |
Vector< T, 4 > | Max (const Vector< T, 4 > &a, const Vector< T, 4 > &b) |
Returns element-wise max vector. More... | |
template<typename T > | |
Vector< T, 4 > | Clamp (const Vector< T, 4 > &v, const Vector< T, 4 > &low, const Vector< T, 4 > &high) |
Returns element-wise clamped vector. More... | |
template<typename T > | |
Vector< T, 4 > | Ceil (const Vector< T, 4 > &a) |
Returns element-wise ceiled vector. More... | |
template<typename T > | |
Vector< T, 4 > | Floor (const Vector< T, 4 > &a) |
Returns element-wise floored vector. More... | |
template<typename T > | |
Vector< T, 4 > | MonotonicCatmullRom (const Vector< T, 4 > &v0, const Vector< T, 4 > &v1, const Vector< T, 4 > &v2, const Vector< T, 4 > &v3, T f) |
Computes monotonic Catmull-Rom interpolation. More... | |
template<> | |
constexpr Vector4F | Zero< Vector4F > () |
Returns float-type zero vector. More... | |
template<> | |
constexpr Vector4D | Zero< Vector4D > () |
Returns double-type zero vector. More... | |
template<typename T , typename E > | |
VectorScalarAdd< T, E > | operator+ (const T &a, const VectorExpression< T, E > &b) |
Scalar-vector addition operation. More... | |
template<typename T , typename E > | |
VectorScalarAdd< T, E > | operator+ (const VectorExpression< T, E > &a, const T &b) |
Vector-scalar addition operation. More... | |
template<typename T , typename E1 , typename E2 > | |
VectorAdd< T, E1, E2 > | operator+ (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b) |
Vector-vector addition operation. More... | |
template<typename T , typename E > | |
VectorScalarRSub< T, E > | operator- (const T &a, const VectorExpression< T, E > &b) |
Scalar-vector subtraction operation. More... | |
template<typename T , typename E > | |
VectorScalarSub< T, E > | operator- (const VectorExpression< T, E > &a, const T &b) |
Scalar-vector addition operation. More... | |
template<typename T , typename E1 , typename E2 > | |
VectorSub< T, E1, E2 > | operator- (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b) |
Vector-vector addition operation. More... | |
template<typename T , typename E > | |
VectorScalarMul< T, E > | operator* (const T &a, const VectorExpression< T, E > &b) |
Scalar-vector multiplication operation. More... | |
template<typename T , typename E > | |
VectorScalarMul< T, E > | operator* (const VectorExpression< T, E > &a, const T &b) |
Vector-scalar multiplication operation. More... | |
template<typename T , typename E1 , typename E2 > | |
VectorMul< T, E1, E2 > | operator* (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b) |
Element-wise vector-vector multiplication operation. More... | |
template<typename T , typename E > | |
VectorScalarRDiv< T, E > | operator/ (const T &a, const VectorExpression< T, E > &b) |
Scalar-vector division operation. More... | |
template<typename T , typename E > | |
VectorScalarDiv< T, E > | operator/ (const VectorExpression< T, E > &a, const T &b) |
Vector-scalar division operation. More... | |
template<typename T , typename E1 , typename E2 > | |
VectorDiv< T, E1, E2 > | operator/ (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b) |
Element-wise vector-vector division operation. More... | |
Variables | |
constexpr size_t | ZERO_SIZE = 0 |
Zero size_t. More... | |
constexpr ssize_t | ZERO_SSIZE = 0 |
Zero ssize_t. More... | |
constexpr size_t | ONE_SIZE = 1 |
One size_t. More... | |
constexpr ssize_t | ONE_SSIZE = 1 |
One ssize_t. More... | |
constexpr float | PI_FLOAT = 3.14159265358979323846264338327950288f |
Float-type PI. More... | |
constexpr double | PI_DOUBLE = 3.14159265358979323846264338327950288 |
Double-type PI. More... | |
constexpr float | HALF_PI_FLOAT = 1.57079632679489661923132169163975144f |
Float-type PI/2. More... | |
constexpr double | HALF_PI_DOUBLE = 1.57079632679489661923132169163975144 |
Double-type PI/2. More... | |
constexpr float | QUARTER_PI_FLOAT = 0.785398163397448309615660845819875721f |
Float-type PI/4. More... | |
constexpr double | QUARTER_PI_DOUBLE = 0.785398163397448309615660845819875721 |
Double-type PI/4. More... | |
constexpr double | GRAVITY = -9.8 |
Gravity. More... | |
constexpr double | WATER_DENSITY = 1000.0 |
Water density. More... | |
constexpr double | SPEED_OF_SOUND_IN_WATER = 1482.0 |
Speed of sound in water at 20 degrees Celsius. More... | |
constexpr int | DIRECTION_NONE = 0 |
No direction. More... | |
constexpr int | DIRECTION_LEFT = 1 << 0 |
Left direction. More... | |
constexpr int | DIRECTION_RIGHT = 1 << 1 |
RIght direction. More... | |
constexpr int | DIRECTION_DOWN = 1 << 2 |
Down direction. More... | |
constexpr int | DIRECTION_UP = 1 << 3 |
Up direction. More... | |
constexpr int | DIRECTION_BACK = 1 << 4 |
Back direction. More... | |
constexpr int | DIRECTION_FRONT = 1 << 5 |
Front direction. More... | |
constexpr int | DIRECTION_ALL |
All direction. More... | |
Logger | infoLogger |
Info-level logger. More... | |
Logger | warnLogger |
Warn-level logger. More... | |
Logger | errorLogger |
Error-level logger. More... | |
Logger | debugLogger |
Debug-level logger. More... | |
Typedef Documentation
◆ AdvectionSolver2Ptr
using CubbyFlow::AdvectionSolver2Ptr = typedef std::shared_ptr<AdvectionSolver2> |
Shared pointer type for the 2-D advection solver.
◆ AdvectionSolver3Ptr
using CubbyFlow::AdvectionSolver3Ptr = typedef std::shared_ptr<AdvectionSolver3> |
Shared pointer type for the 3-D advection solver.
◆ AnimationPtr
using CubbyFlow::AnimationPtr = typedef std::shared_ptr<Animation> |
Shared pointer for the Animation type.
◆ AnisotropicPointsToImplicit2Ptr
using CubbyFlow::AnisotropicPointsToImplicit2Ptr = typedef std::shared_ptr<AnisotropicPointsToImplicit2> |
Shared pointer for the AnisotropicPointsToImplicit2 type.
◆ AnisotropicPointsToImplicit3Ptr
using CubbyFlow::AnisotropicPointsToImplicit3Ptr = typedef std::shared_ptr<AnisotropicPointsToImplicit3> |
Shared pointer for the AnisotropicPointsToImplicit3 type.
◆ APICSolver2Ptr
using CubbyFlow::APICSolver2Ptr = typedef std::shared_ptr<APICSolver2> |
Shared pointer type for the APICSolver2.
◆ APICSolver3Ptr
using CubbyFlow::APICSolver3Ptr = typedef std::shared_ptr<APICSolver3> |
Shared pointer type for the APICSolver3.
◆ Array1
using CubbyFlow::Array1 = typedef Array<T, 1> |
Type alias for 1-D array.
◆ Array2
using CubbyFlow::Array2 = typedef Array<T, 2> |
Type alias for 2-D array.
◆ Array3
using CubbyFlow::Array3 = typedef Array<T, 3> |
Type alias for 3-D array.
◆ ArrayAccessor1
using CubbyFlow::ArrayAccessor1 = typedef ArrayAccessor<T, 1> |
Type alias for 1-D array accessor.
◆ ArrayAccessor2
using CubbyFlow::ArrayAccessor2 = typedef ArrayAccessor<T, 2> |
Type alias for 2-D array accessor.
◆ ArrayAccessor3
using CubbyFlow::ArrayAccessor3 = typedef ArrayAccessor<T, 3> |
Type alias for 3-D array accessor.
◆ BccLatticePointGeneratorPtr
using CubbyFlow::BccLatticePointGeneratorPtr = typedef std::shared_ptr<BccLatticePointGenerator> |
Shared pointer type for the BccLatticePointGenerator.
◆ BoundingBox2
using CubbyFlow::BoundingBox2 = typedef BoundingBox<T, 2> |
Type alias for 2-D BoundingBox.
◆ BoundingBox2D
using CubbyFlow::BoundingBox2D = typedef BoundingBox2<double> |
Double-type 2-D BoundingBox.
◆ BoundingBox2F
using CubbyFlow::BoundingBox2F = typedef BoundingBox2<float> |
Float-type 2-D BoundingBox.
◆ BoundingBox3
using CubbyFlow::BoundingBox3 = typedef BoundingBox<T, 3> |
Type alias for 3-D BoundingBox.
◆ BoundingBox3D
using CubbyFlow::BoundingBox3D = typedef BoundingBox3<double> |
Double-type 3-D BoundingBox.
◆ BoundingBox3F
using CubbyFlow::BoundingBox3F = typedef BoundingBox3<float> |
Float-type 3-D BoundingBox.
◆ BoundingBoxRayIntersection2D
using CubbyFlow::BoundingBoxRayIntersection2D = typedef BoundingBoxRayIntersection2<double> |
Double-type 2-D box-ray intersection result.
◆ BoundingBoxRayIntersection2F
using CubbyFlow::BoundingBoxRayIntersection2F = typedef BoundingBoxRayIntersection2<float> |
Float-type 2-D box-ray intersection result.
◆ BoundingBoxRayIntersection3D
using CubbyFlow::BoundingBoxRayIntersection3D = typedef BoundingBoxRayIntersection3<double> |
Double-type 3-D box-ray intersection result.
◆ BoundingBoxRayIntersection3F
using CubbyFlow::BoundingBoxRayIntersection3F = typedef BoundingBoxRayIntersection3<float> |
Float-type 3-D box-ray intersection result.
◆ Box2Ptr
using CubbyFlow::Box2Ptr = typedef std::shared_ptr<Box2> |
Shared pointer type for the Box2.
◆ Box3Ptr
using CubbyFlow::Box3Ptr = typedef std::shared_ptr<Box3> |
Shared pointer type for the Box3.
◆ BoxIntersectionTestFunc2
using CubbyFlow::BoxIntersectionTestFunc2 = typedef std::function<bool(const T&, const BoundingBox2D&)> |
Box-item intersection test function.
◆ BoxIntersectionTestFunc3
using CubbyFlow::BoxIntersectionTestFunc3 = typedef std::function<bool(const T&, const BoundingBox3D&)> |
Box-item intersection test function.
◆ CellCenteredScalarGrid2Ptr
using CubbyFlow::CellCenteredScalarGrid2Ptr = typedef std::shared_ptr<CellCenteredScalarGrid2> |
Shared pointer for the CellCenteredScalarGrid2 type.
◆ CellCenteredScalarGrid3Ptr
using CubbyFlow::CellCenteredScalarGrid3Ptr = typedef std::shared_ptr<CellCenteredScalarGrid3> |
Shared pointer for the CellCenteredScalarGrid3 type.
◆ CellCenteredVectorGrid2Ptr
using CubbyFlow::CellCenteredVectorGrid2Ptr = typedef std::shared_ptr<CellCenteredVectorGrid2> |
Shared pointer for the CellCenteredVectorGrid2 type.
◆ CellCenteredVectorGrid3Ptr
using CubbyFlow::CellCenteredVectorGrid3Ptr = typedef std::shared_ptr<CellCenteredVectorGrid3> |
Shared pointer for the CellCenteredVectorGrid3 type.
◆ ClosestIntersectionDistanceFunc2
using CubbyFlow::ClosestIntersectionDistanceFunc2 = typedef std::function<double(const T&, const Vector2D&)> |
Closest intersection distance measure function.
◆ ClosestIntersectionDistanceFunc3
using CubbyFlow::ClosestIntersectionDistanceFunc3 = typedef std::function<double(const T&, const Vector3D&)> |
Closest intersection distance measure function.
◆ Collider2Ptr
using CubbyFlow::Collider2Ptr = typedef std::shared_ptr<Collider2> |
Shared pointer type for the Collider2.
◆ Collider3Ptr
using CubbyFlow::Collider3Ptr = typedef std::shared_ptr<Collider3> |
Shared pointer type for the Collider3.
◆ ColliderSet2Ptr
typedef std::shared_ptr<ColliderSet2> CubbyFlow::ColliderSet2Ptr |
Shared pointer for the ColliderSet2 type.
◆ ColliderSet3Ptr
using CubbyFlow::ColliderSet3Ptr = typedef std::shared_ptr<ColliderSet3> |
Shared pointer for the ColliderSet3 type.
◆ CollocatedVectorGrid2Ptr
using CubbyFlow::CollocatedVectorGrid2Ptr = typedef std::shared_ptr<CollocatedVectorGrid2> |
Shared pointer for the CollocatedVectorGrid2 type.
◆ CollocatedVectorGrid3Ptr
using CubbyFlow::CollocatedVectorGrid3Ptr = typedef std::shared_ptr<CollocatedVectorGrid3> |
Shared pointer for the CollocatedVectorGrid3 type.
◆ ConstantScalarField2Ptr
using CubbyFlow::ConstantScalarField2Ptr = typedef std::shared_ptr<ConstantScalarField2> |
Shared pointer for the ConstantScalarField2 type.
◆ ConstantScalarField3Ptr
using CubbyFlow::ConstantScalarField3Ptr = typedef std::shared_ptr<ConstantScalarField3> |
Shared pointer for the ConstantScalarField3 type.
◆ ConstantVectorField2Ptr
using CubbyFlow::ConstantVectorField2Ptr = typedef std::shared_ptr<ConstantVectorField2> |
Shared pointer for the ConstantVectorField2 type.
◆ ConstantVectorField3Ptr
using CubbyFlow::ConstantVectorField3Ptr = typedef std::shared_ptr<ConstantVectorField3> |
Shared pointer for the ConstantVectorField3 type.
◆ ConstArrayAccessor1
using CubbyFlow::ConstArrayAccessor1 = typedef ConstArrayAccessor<T, 1> |
Type alias for 1-D const array accessor.
◆ ConstArrayAccessor2
using CubbyFlow::ConstArrayAccessor2 = typedef ConstArrayAccessor<T, 2> |
Type alias for 2-D const array accessor.
◆ ConstArrayAccessor3
using CubbyFlow::ConstArrayAccessor3 = typedef ConstArrayAccessor<T, 3> |
Type alias for 3-D const array accessor.
◆ CubicArraySampler1
using CubbyFlow::CubicArraySampler1 = typedef CubicArraySampler<T, R, 1> |
Type alias for 1-D cubic array sampler.
◆ CubicArraySampler2
using CubbyFlow::CubicArraySampler2 = typedef CubicArraySampler<T, R, 2> |
Type alias for 2-D cubic array sampler.
◆ CubicArraySampler3
using CubbyFlow::CubicArraySampler3 = typedef CubicArraySampler<T, R, 3> |
Type alias for 3-D cubic array sampler.
◆ CubicSemiLagrangian2Ptr
using CubbyFlow::CubicSemiLagrangian2Ptr = typedef std::shared_ptr<CubicSemiLagrangian2> |
◆ CubicSemiLagrangian3Ptr
using CubbyFlow::CubicSemiLagrangian3Ptr = typedef std::shared_ptr<CubicSemiLagrangian3> |
◆ CustomImplicitSurface2Ptr
using CubbyFlow::CustomImplicitSurface2Ptr = typedef std::shared_ptr<CustomImplicitSurface2> |
Shared pointer type for the CustomImplicitSurface2.
◆ CustomImplicitSurface3Ptr
using CubbyFlow::CustomImplicitSurface3Ptr = typedef std::shared_ptr<CustomImplicitSurface3> |
Shared pointer type for the CustomImplicitSurface3.
◆ CustomScalarField2Ptr
using CubbyFlow::CustomScalarField2Ptr = typedef std::shared_ptr<CustomScalarField2> |
Shared pointer type for the CustomScalarField2.
◆ CustomScalarField3Ptr
using CubbyFlow::CustomScalarField3Ptr = typedef std::shared_ptr<CustomScalarField3> |
Shared pointer type for the CustomScalarField3.
◆ CustomVectorField2Ptr
using CubbyFlow::CustomVectorField2Ptr = typedef std::shared_ptr<CustomVectorField2> |
Shared pointer type for the CustomVectorField2.
◆ CustomVectorField3Ptr
using CubbyFlow::CustomVectorField3Ptr = typedef std::shared_ptr<CustomVectorField3> |
Shared pointer type for the CustomVectorField3.
◆ Cylinder3Ptr
using CubbyFlow::Cylinder3Ptr = typedef std::shared_ptr<Cylinder3> |
Shared pointer type for the Cylinder3.
◆ ENOLevelSetSolver2Ptr
using CubbyFlow::ENOLevelSetSolver2Ptr = typedef std::shared_ptr<ENOLevelSetSolver2> |
◆ ENOLevelSetSolver3Ptr
using CubbyFlow::ENOLevelSetSolver3Ptr = typedef std::shared_ptr<ENOLevelSetSolver3> |
◆ FaceCenteredGrid2Ptr
using CubbyFlow::FaceCenteredGrid2Ptr = typedef std::shared_ptr<FaceCenteredGrid2> |
Shared pointer type for the FaceCenteredGrid2.
◆ FaceCenteredGrid3Ptr
using CubbyFlow::FaceCenteredGrid3Ptr = typedef std::shared_ptr<FaceCenteredGrid3> |
Shared pointer type for the FaceCenteredGrid3.
◆ FDMCGSolver2Ptr
using CubbyFlow::FDMCGSolver2Ptr = typedef std::shared_ptr<FDMCGSolver2> |
Shared pointer type for the FDMCGSolver2.
◆ FDMCGSolver3Ptr
using CubbyFlow::FDMCGSolver3Ptr = typedef std::shared_ptr<FDMCGSolver3> |
Shared pointer type for the FDMCGSolver3.
◆ FDMGaussSeidelSolver2Ptr
using CubbyFlow::FDMGaussSeidelSolver2Ptr = typedef std::shared_ptr<FDMGaussSeidelSolver2> |
Shared pointer type for the FDMGaussSeidelSolver2.
◆ FDMGaussSeidelSolver3Ptr
using CubbyFlow::FDMGaussSeidelSolver3Ptr = typedef std::shared_ptr<FDMGaussSeidelSolver3> |
Shared pointer type for the FDMGaussSeidelSolver3.
◆ FDMICCGSolver2Ptr
using CubbyFlow::FDMICCGSolver2Ptr = typedef std::shared_ptr<FDMICCGSolver2> |
Shared pointer type for the FDMICCGSolver2.
◆ FDMICCGSolver3Ptr
using CubbyFlow::FDMICCGSolver3Ptr = typedef std::shared_ptr<FDMICCGSolver3> |
Shared pointer type for the FDMICCGSolver3.
◆ FDMJacobiSolver2Ptr
using CubbyFlow::FDMJacobiSolver2Ptr = typedef std::shared_ptr<FDMJacobiSolver2> |
Shared pointer type for the FDMJacobiSolver2.
◆ FDMJacobiSolver3Ptr
using CubbyFlow::FDMJacobiSolver3Ptr = typedef std::shared_ptr<FDMJacobiSolver3> |
Shared pointer type for the FDMJacobiSolver3.
◆ FDMLinearSystemSolver2Ptr
using CubbyFlow::FDMLinearSystemSolver2Ptr = typedef std::shared_ptr<FDMLinearSystemSolver2> |
Shared pointer type for the FDMLinearSystemSolver2.
◆ FDMLinearSystemSolver3Ptr
using CubbyFlow::FDMLinearSystemSolver3Ptr = typedef std::shared_ptr<FDMLinearSystemSolver3> |
Shared pointer type for the FDMLinearSystemSolver3.
◆ FDMMatrix2
using CubbyFlow::FDMMatrix2 = typedef Array2<FDMMatrixRow2> |
Matrix type for 2-D finite differencing.
◆ FDMMatrix3
using CubbyFlow::FDMMatrix3 = typedef Array3<FDMMatrixRow3> |
Matrix type for 3-D finite differencing.
◆ FDMMGMatrix2
using CubbyFlow::FDMMGMatrix2 = typedef MGMatrix<FDMBLAS2> |
Multigrid-style 2-D FDM matrix.
◆ FDMMGMatrix3
using CubbyFlow::FDMMGMatrix3 = typedef MGMatrix<FDMBLAS3> |
Multigrid-style 3-D FDM matrix.
◆ FDMMGPCGSolver2Ptr
using CubbyFlow::FDMMGPCGSolver2Ptr = typedef std::shared_ptr<FDMMGPCGSolver2> |
Shared pointer type for the FDMMGPCGSolver2.
◆ FDMMGPCGSolver3Ptr
using CubbyFlow::FDMMGPCGSolver3Ptr = typedef std::shared_ptr<FDMMGPCGSolver3> |
Shared pointer type for the FDMMGPCGSolver3.
◆ FDMMGSolver2Ptr
using CubbyFlow::FDMMGSolver2Ptr = typedef std::shared_ptr<FDMMGSolver2> |
Shared pointer type for the FDMMGSolver2.
◆ FDMMGSolver3Ptr
using CubbyFlow::FDMMGSolver3Ptr = typedef std::shared_ptr<FDMMGSolver3> |
Shared pointer type for the FDMMGSolver3.
◆ FDMMGVector2
using CubbyFlow::FDMMGVector2 = typedef MGVector<FDMBLAS2> |
Multigrid-style 2-D FDM vector.
◆ FDMMGVector3
using CubbyFlow::FDMMGVector3 = typedef MGVector<FDMBLAS3> |
Multigrid-style 3-D FDM vector.
◆ FDMVector2
using CubbyFlow::FDMVector2 = typedef Array2<double> |
Vector type for 2-D finite differencing.
◆ FDMVector3
using CubbyFlow::FDMVector3 = typedef Array3<double> |
Vector type for 3-D finite differencing.
◆ Field2Ptr
using CubbyFlow::Field2Ptr = typedef std::shared_ptr<Field2> |
◆ Field3Ptr
using CubbyFlow::Field3Ptr = typedef std::shared_ptr<Field3> |
◆ FLIPSolver2Ptr
using CubbyFlow::FLIPSolver2Ptr = typedef std::shared_ptr<FLIPSolver2> |
Shared pointer type for the FLIPSolver2.
◆ FLIPSolver3Ptr
using CubbyFlow::FLIPSolver3Ptr = typedef std::shared_ptr<FLIPSolver3> |
Shared pointer type for the FLIPSolver3.
◆ FMMLevelSetSolver2Ptr
using CubbyFlow::FMMLevelSetSolver2Ptr = typedef std::shared_ptr<FMMLevelSetSolver2> |
Shared pointer type for the FMMLevelSetSolver2.
◆ FMMLevelSetSolver3Ptr
using CubbyFlow::FMMLevelSetSolver3Ptr = typedef std::shared_ptr<FMMLevelSetSolver3> |
Shared pointer type for the FMMLevelSetSolver3.
◆ GetRayIntersectionFunc2
using CubbyFlow::GetRayIntersectionFunc2 = typedef std::function<double(const T&, const Ray2D&)> |
Ray-item closest intersection evaluation function.
◆ GetRayIntersectionFunc3
using CubbyFlow::GetRayIntersectionFunc3 = typedef std::function<double(const T&, const Ray3D&)> |
Ray-item closest intersection evaluation function.
◆ Grid2Ptr
using CubbyFlow::Grid2Ptr = typedef std::shared_ptr<Grid2> |
◆ Grid3Ptr
using CubbyFlow::Grid3Ptr = typedef std::shared_ptr<Grid3> |
◆ GridBackwardEulerDiffusionSolver2Ptr
using CubbyFlow::GridBackwardEulerDiffusionSolver2Ptr = typedef std::shared_ptr<GridBackwardEulerDiffusionSolver2> |
Shared pointer type for the GridBackwardEulerDiffusionSolver2.
◆ GridBackwardEulerDiffusionSolver3Ptr
using CubbyFlow::GridBackwardEulerDiffusionSolver3Ptr = typedef std::shared_ptr<GridBackwardEulerDiffusionSolver3> |
Shared pointer type for the GridBackwardEulerDiffusionSolver3.
◆ GridBlockedBoundaryConditionSolver2Ptr
using CubbyFlow::GridBlockedBoundaryConditionSolver2Ptr = typedef std::shared_ptr<GridBlockedBoundaryConditionSolver2> |
Shared pointer type for the GridBlockedBoundaryConditionSolver2.
◆ GridBlockedBoundaryConditionSolver3Ptr
using CubbyFlow::GridBlockedBoundaryConditionSolver3Ptr = typedef std::shared_ptr<GridBlockedBoundaryConditionSolver3> |
Shared pointer type for the GridBlockedBoundaryConditionSolver3.
◆ GridBoundaryConditionSolver2Ptr
using CubbyFlow::GridBoundaryConditionSolver2Ptr = typedef std::shared_ptr<GridBoundaryConditionSolver2> |
Shared pointer type for the GridBoundaryConditionSolver2.
◆ GridBoundaryConditionSolver3Ptr
using CubbyFlow::GridBoundaryConditionSolver3Ptr = typedef std::shared_ptr<GridBoundaryConditionSolver3> |
Shared pointer type for the GridBoundaryConditionSolver3.
◆ GridDiffusionSolver2Ptr
using CubbyFlow::GridDiffusionSolver2Ptr = typedef std::shared_ptr<GridDiffusionSolver2> |
Shared pointer type for the GridDiffusionSolver2.
◆ GridDiffusionSolver3Ptr
using CubbyFlow::GridDiffusionSolver3Ptr = typedef std::shared_ptr<GridDiffusionSolver3> |
Shared pointer type for the GridDiffusionSolver3.
◆ GridEmitter2Ptr
using CubbyFlow::GridEmitter2Ptr = typedef std::shared_ptr<GridEmitter2> |
Shared pointer type for the GridEmitter2.
◆ GridEmitter3Ptr
using CubbyFlow::GridEmitter3Ptr = typedef std::shared_ptr<GridEmitter3> |
Shared pointer type for the GridEmitter3.
◆ GridEmitterSet2Ptr
using CubbyFlow::GridEmitterSet2Ptr = typedef std::shared_ptr<GridEmitterSet2> |
Shared pointer type for the GridEmitterSet2.
◆ GridEmitterSet3Ptr
using CubbyFlow::GridEmitterSet3Ptr = typedef std::shared_ptr<GridEmitterSet3> |
Shared pointer type for the GridEmitterSet3.
◆ GridFluidSolver2Ptr
using CubbyFlow::GridFluidSolver2Ptr = typedef std::shared_ptr<GridFluidSolver2> |
Shared pointer type for the GridFluidSolver2.
◆ GridFluidSolver3Ptr
using CubbyFlow::GridFluidSolver3Ptr = typedef std::shared_ptr<GridFluidSolver3> |
Shared pointer type for the GridFluidSolver3.
◆ GridForwardEulerDiffusionSolver2Ptr
using CubbyFlow::GridForwardEulerDiffusionSolver2Ptr = typedef std::shared_ptr<GridForwardEulerDiffusionSolver2> |
Shared pointer type for the GridForwardEulerDiffusionSolver2.
◆ GridForwardEulerDiffusionSolver3Ptr
using CubbyFlow::GridForwardEulerDiffusionSolver3Ptr = typedef std::shared_ptr<GridForwardEulerDiffusionSolver3> |
Shared pointer type for the GridForwardEulerDiffusionSolver3.
◆ GridFractionalBoundaryConditionSolver2Ptr
using CubbyFlow::GridFractionalBoundaryConditionSolver2Ptr = typedef std::shared_ptr<GridFractionalBoundaryConditionSolver2> |
Shared pointer type for the GridFractionalBoundaryConditionSolver2.
◆ GridFractionalBoundaryConditionSolver3Ptr
using CubbyFlow::GridFractionalBoundaryConditionSolver3Ptr = typedef std::shared_ptr<GridFractionalBoundaryConditionSolver3> |
Shared pointer type for the GridFractionalBoundaryConditionSolver3.
◆ GridFractionalSinglePhasePressureSolver2Ptr
using CubbyFlow::GridFractionalSinglePhasePressureSolver2Ptr = typedef std::shared_ptr<GridFractionalSinglePhasePressureSolver2> |
Shared pointer type for the GridFractionalSinglePhasePressureSolver2.
◆ GridFractionalSinglePhasePressureSolver3Ptr
using CubbyFlow::GridFractionalSinglePhasePressureSolver3Ptr = typedef std::shared_ptr<GridFractionalSinglePhasePressureSolver3> |
Shared pointer type for the GridFractionalSinglePhasePressureSolver3.
◆ GridPointGenerator2Ptr
using CubbyFlow::GridPointGenerator2Ptr = typedef std::shared_ptr<GridPointGenerator2> |
Shared pointer type for the GridPointGenerator2.
◆ GridPointGenerator3Ptr
using CubbyFlow::GridPointGenerator3Ptr = typedef std::shared_ptr<GridPointGenerator3> |
Shared pointer type for the GridPointGenerator3.
◆ GridPressureSolver2Ptr
using CubbyFlow::GridPressureSolver2Ptr = typedef std::shared_ptr<GridPressureSolver2> |
Shared pointer type for the GridPressureSolver2.
◆ GridPressureSolver3Ptr
using CubbyFlow::GridPressureSolver3Ptr = typedef std::shared_ptr<GridPressureSolver3> |
Shared pointer type for the GridPressureSolver3.
◆ GridSinglePhasePressureSolver2Ptr
using CubbyFlow::GridSinglePhasePressureSolver2Ptr = typedef std::shared_ptr<GridSinglePhasePressureSolver2> |
Shared pointer type for the GridSinglePhasePressureSolver2.
◆ GridSinglePhasePressureSolver3Ptr
using CubbyFlow::GridSinglePhasePressureSolver3Ptr = typedef std::shared_ptr<GridSinglePhasePressureSolver3> |
Shared pointer type for the GridSinglePhasePressureSolver3.
◆ GridSmokeSolver2Ptr
using CubbyFlow::GridSmokeSolver2Ptr = typedef std::shared_ptr<GridSmokeSolver2> |
Shared pointer type for the GridSmokeSolver2.
◆ GridSmokeSolver3Ptr
using CubbyFlow::GridSmokeSolver3Ptr = typedef std::shared_ptr<GridSmokeSolver3> |
Shared pointer type for the GridSmokeSolver3.
◆ GridSystemData2Ptr
using CubbyFlow::GridSystemData2Ptr = typedef std::shared_ptr<GridSystemData2> |
Shared pointer type of GridSystemData2.
◆ GridSystemData3Ptr
using CubbyFlow::GridSystemData3Ptr = typedef std::shared_ptr<GridSystemData3> |
Shared pointer type of GridSystemData3.
◆ ImplicitSurface2Ptr
using CubbyFlow::ImplicitSurface2Ptr = typedef std::shared_ptr<ImplicitSurface2> |
Shared pointer type for the ImplicitSurface2.
◆ ImplicitSurface3Ptr
using CubbyFlow::ImplicitSurface3Ptr = typedef std::shared_ptr<ImplicitSurface3> |
Shared pointer type for the ImplicitSurface3.
◆ ImplicitSurfaceSet2Ptr
using CubbyFlow::ImplicitSurfaceSet2Ptr = typedef std::shared_ptr<ImplicitSurfaceSet2> |
Shared pointer type for the ImplicitSurfaceSet2.
◆ ImplicitSurfaceSet3Ptr
using CubbyFlow::ImplicitSurfaceSet3Ptr = typedef std::shared_ptr<ImplicitSurfaceSet3> |
Shared pointer type for the ImplicitSurfaceSet3.
◆ ImplicitTriangleMesh3Ptr
using CubbyFlow::ImplicitTriangleMesh3Ptr = typedef std::shared_ptr<ImplicitTriangleMesh3> |
Shared pointer for the ImplicitTriangleMesh3 type.
◆ IntersectionVisitorFunc2
using CubbyFlow::IntersectionVisitorFunc2 = typedef std::function<void(const T&)> |
Visitor function which is invoked for each intersecting item.
◆ IntersectionVisitorFunc3
using CubbyFlow::IntersectionVisitorFunc3 = typedef std::function<void(const T&)> |
Visitor function which is invoked for each intersecting item.
◆ IterativeLevelSetSolver2Ptr
using CubbyFlow::IterativeLevelSetSolver2Ptr = typedef std::shared_ptr<IterativeLevelSetSolver2> |
◆ IterativeLevelSetSolver3Ptr
using CubbyFlow::IterativeLevelSetSolver3Ptr = typedef std::shared_ptr<IterativeLevelSetSolver3> |
◆ LevelSetLiquidSolver2Ptr
using CubbyFlow::LevelSetLiquidSolver2Ptr = typedef std::shared_ptr<LevelSetLiquidSolver2> |
Shared pointer type for the LevelSetLiquidSolver2.
◆ LevelSetLiquidSolver3Ptr
using CubbyFlow::LevelSetLiquidSolver3Ptr = typedef std::shared_ptr<LevelSetLiquidSolver3> |
Shared pointer type for the LevelSetLiquidSolver3.
◆ LevelSetSolver2Ptr
using CubbyFlow::LevelSetSolver2Ptr = typedef std::shared_ptr<LevelSetSolver2> |
Shared pointer type for the LevelSetSolver2.
◆ LevelSetSolver3Ptr
using CubbyFlow::LevelSetSolver3Ptr = typedef std::shared_ptr<LevelSetSolver3> |
Shared pointer type for the LevelSetSolver3.
◆ LinearArraySampler1
using CubbyFlow::LinearArraySampler1 = typedef LinearArraySampler<T, R, 1> |
Type alias for 1-D linear array sampler.
◆ LinearArraySampler2
using CubbyFlow::LinearArraySampler2 = typedef LinearArraySampler<T, R, 2> |
Type alias for 2-D linear array sampler.
◆ LinearArraySampler3
using CubbyFlow::LinearArraySampler3 = typedef LinearArraySampler<T, R, 3> |
Type alias for 3-D linear array sampler.
◆ Matrix2x2
using CubbyFlow::Matrix2x2 = typedef Matrix<T, 2, 2> |
Type alias for 2x2 matrix.
◆ Matrix2x2D
using CubbyFlow::Matrix2x2D = typedef Matrix2x2<double> |
Double-type 2x2 matrix.
◆ Matrix2x2F
using CubbyFlow::Matrix2x2F = typedef Matrix2x2<float> |
Float-type 2x2 matrix.
◆ Matrix3x3
using CubbyFlow::Matrix3x3 = typedef Matrix<T, 3, 3> |
Type alias for 3x3 matrix.
◆ Matrix3x3D
using CubbyFlow::Matrix3x3D = typedef Matrix3x3<double> |
Double-type 3x3 matrix.
◆ Matrix3x3F
using CubbyFlow::Matrix3x3F = typedef Matrix3x3<float> |
Float-type 3x3 matrix.
◆ Matrix4x4
using CubbyFlow::Matrix4x4 = typedef Matrix<T, 4, 4> |
Type alias for 4x4 matrix.
◆ Matrix4x4D
using CubbyFlow::Matrix4x4D = typedef Matrix4x4<double> |
Double-type 4x4 matrix.
◆ Matrix4x4F
using CubbyFlow::Matrix4x4F = typedef Matrix4x4<float> |
Float-type 4x4 matrix.
◆ MatrixAdd
using CubbyFlow::MatrixAdd = typedef MatrixBinaryOp<T, E1, E2, std::plus<T> > |
Matrix-matrix addition expression.
◆ MatrixCSRD
using CubbyFlow::MatrixCSRD = typedef MatrixCSR<double> |
Double-type CSR matrix.
◆ MatrixCSRF
using CubbyFlow::MatrixCSRF = typedef MatrixCSR<float> |
Float-type CSR matrix.
◆ MatrixMxND
using CubbyFlow::MatrixMxND = typedef MatrixMxN<double> |
Double-type M x N matrix.
◆ MatrixMxNF
using CubbyFlow::MatrixMxNF = typedef MatrixMxN<float> |
Float-type M x N matrix.
◆ MatrixScalarAdd
using CubbyFlow::MatrixScalarAdd = typedef MatrixScalarBinaryOp<T, E, std::plus<T> > |
Matrix-scalar addition expression.
◆ MatrixScalarDiv
using CubbyFlow::MatrixScalarDiv = typedef MatrixScalarBinaryOp<T, E, std::divides<T> > |
Matrix-scalar division expression.
◆ MatrixScalarMul
using CubbyFlow::MatrixScalarMul = typedef MatrixScalarBinaryOp<T, E, std::multiplies<T> > |
Matrix-scalar multiplication expression.
◆ MatrixScalarRDiv
using CubbyFlow::MatrixScalarRDiv = typedef MatrixScalarBinaryOp<T, E, RDivides<T> > |
Matrix-scalar division expression with inversed order.
◆ MatrixScalarRSub
using CubbyFlow::MatrixScalarRSub = typedef MatrixScalarBinaryOp<T, E, RMinus<T> > |
Matrix-matrix subtraction expression with inversed order.
◆ MatrixScalarSub
using CubbyFlow::MatrixScalarSub = typedef MatrixScalarBinaryOp<T, E, std::minus<T> > |
Matrix-scalar subtraction expression.
◆ MatrixSub
using CubbyFlow::MatrixSub = typedef MatrixBinaryOp<T, E1, E2, std::minus<T> > |
Matrix-matrix subtraction expression.
◆ MatrixTypeCast
using CubbyFlow::MatrixTypeCast = typedef MatrixUnaryOp<T, E, TypeCast<U, T> > |
Matrix expression for type casting.
◆ MGCorrectFunc
using CubbyFlow::MGCorrectFunc = typedef std::function<void( const typename BlasType::VectorType& coarser, typename BlasType::VectorType* finer)> |
Multi-grid correction function type.
◆ MGRelaxFunc
using CubbyFlow::MGRelaxFunc = typedef std::function<void( const typename BlasType::MatrixType& A, const typename BlasType::VectorType& b, unsigned int numberOfIterations, double maxTolerance, typename BlasType::VectorType* x, typename BlasType::VectorType* buffer)> |
Multi-grid relax function type.
◆ MGRestrictFunc
using CubbyFlow::MGRestrictFunc = typedef std::function<void( const typename BlasType::VectorType& finer, typename BlasType::VectorType* coarser)> |
Multi-grid restriction function type.
◆ NearestArraySampler1
using CubbyFlow::NearestArraySampler1 = typedef NearestArraySampler<T, R, 1> |
Type alias for 1-D nearest array sampler.
◆ NearestArraySampler2
using CubbyFlow::NearestArraySampler2 = typedef NearestArraySampler<T, R, 2> |
Type alias for 2-D nearest array sampler.
◆ NearestArraySampler3
using CubbyFlow::NearestArraySampler3 = typedef NearestArraySampler<T, R, 3> |
Type alias for 3-D nearest array sampler.
◆ NearestNeighborDistanceFunc2
using CubbyFlow::NearestNeighborDistanceFunc2 = typedef std::function<double(const T&, const Vector2D&)> |
Nearest neighbor distance measure function.
◆ NearestNeighborDistanceFunc3
using CubbyFlow::NearestNeighborDistanceFunc3 = typedef std::function<double(const T&, const Vector3D&)> |
Nearest neighbor distance measure function.
◆ ParticleEmitter2Ptr
using CubbyFlow::ParticleEmitter2Ptr = typedef std::shared_ptr<ParticleEmitter2> |
Shared pointer for the ParticleEmitter2 type.
◆ ParticleEmitter3Ptr
using CubbyFlow::ParticleEmitter3Ptr = typedef std::shared_ptr<ParticleEmitter3> |
Shared pointer for the ParticleEmitter3 type.
◆ ParticleEmitterSet2Ptr
using CubbyFlow::ParticleEmitterSet2Ptr = typedef std::shared_ptr<ParticleEmitterSet2> |
Shared pointer type for the ParticleEmitterSet2.
◆ ParticleEmitterSet3Ptr
using CubbyFlow::ParticleEmitterSet3Ptr = typedef std::shared_ptr<ParticleEmitterSet3> |
Shared pointer type for the ParticleEmitterSet3.
◆ ParticleSystemData2Ptr
using CubbyFlow::ParticleSystemData2Ptr = typedef std::shared_ptr<ParticleSystemData2> |
Shared pointer type of ParticleSystemData2.
◆ ParticleSystemData3Ptr
using CubbyFlow::ParticleSystemData3Ptr = typedef std::shared_ptr<ParticleSystemData3> |
Shared pointer type of ParticleSystemData3.
◆ ParticleSystemSolver2Ptr
using CubbyFlow::ParticleSystemSolver2Ptr = typedef std::shared_ptr<ParticleSystemSolver2> |
Shared pointer type for the ParticleSystemSolver2.
◆ ParticleSystemSolver3Ptr
using CubbyFlow::ParticleSystemSolver3Ptr = typedef std::shared_ptr<ParticleSystemSolver3> |
Shared pointer type for the ParticleSystemSolver3.
◆ PCISPHSolver2Ptr
using CubbyFlow::PCISPHSolver2Ptr = typedef std::shared_ptr<PCISPHSolver2> |
Shared pointer type for the PCISPHSolver2.
◆ PCISPHSolver3Ptr
using CubbyFlow::PCISPHSolver3Ptr = typedef std::shared_ptr<PCISPHSolver3> |
Shared pointer type for the PCISPHSolver3.
◆ PhysicsAnimationPtr
using CubbyFlow::PhysicsAnimationPtr = typedef std::shared_ptr<PhysicsAnimation> |
◆ PICSolver2Ptr
using CubbyFlow::PICSolver2Ptr = typedef std::shared_ptr<PICSolver2> |
Shared pointer type for the PICSolver2.
◆ PICSolver3Ptr
using CubbyFlow::PICSolver3Ptr = typedef std::shared_ptr<PICSolver3> |
Shared pointer type for the PICSolver3.
◆ Plane2Ptr
using CubbyFlow::Plane2Ptr = typedef std::shared_ptr<Plane2> |
Shared pointer for the Plane2 type.
◆ Plane3Ptr
using CubbyFlow::Plane3Ptr = typedef std::shared_ptr<Plane3> |
Shared pointer for the Plane3 type.
◆ Point2
using CubbyFlow::Point2 = typedef Point<T, 2> |
Type alias for two dimensional point.
◆ Point2D
using CubbyFlow::Point2D = typedef Point2<double> |
Double-type 2D point.
◆ Point2F
using CubbyFlow::Point2F = typedef Point2<float> |
Float-type 2D point.
◆ Point2I
using CubbyFlow::Point2I = typedef Point2<ssize_t> |
Integer-type 2D point.
◆ Point2UI
using CubbyFlow::Point2UI = typedef Point2<size_t> |
Unsigned integer-type 2D point.
◆ Point3
using CubbyFlow::Point3 = typedef Point<T, 3> |
Type alias for three dimensional point.
◆ Point3D
using CubbyFlow::Point3D = typedef Point3<double> |
Double-type 3D point.
◆ Point3F
using CubbyFlow::Point3F = typedef Point3<float> |
Float-type 3D point.
◆ Point3I
using CubbyFlow::Point3I = typedef Point3<ssize_t> |
Integer-type 3D point.
◆ Point3UI
using CubbyFlow::Point3UI = typedef Point3<size_t> |
Unsigned integer-type 3D point.
◆ PointGenerator2Ptr
using CubbyFlow::PointGenerator2Ptr = typedef std::shared_ptr<PointGenerator2> |
Shared pointer for the PointGenerator2 type.
◆ PointGenerator3Ptr
using CubbyFlow::PointGenerator3Ptr = typedef std::shared_ptr<PointGenerator3> |
Shared pointer for the PointGenerator3 type.
◆ PointHashGridSearcher2Ptr
using CubbyFlow::PointHashGridSearcher2Ptr = typedef std::shared_ptr<PointHashGridSearcher2> |
Shared pointer for the PointHashGridSearcher2 type.
◆ PointHashGridSearcher3Ptr
using CubbyFlow::PointHashGridSearcher3Ptr = typedef std::shared_ptr<PointHashGridSearcher3> |
Shared pointer for the PointHashGridSearcher3 type.
◆ PointKdTreeSearcher2Ptr
using CubbyFlow::PointKdTreeSearcher2Ptr = typedef std::shared_ptr<PointKdTreeSearcher2> |
Shared pointer for the PointKdTreeSearcher2 type.
◆ PointKdTreeSearcher3Ptr
using CubbyFlow::PointKdTreeSearcher3Ptr = typedef std::shared_ptr<PointKdTreeSearcher3> |
Shared pointer for the PointKdTreeSearcher3 type.
◆ PointNeighborSearcher2Ptr
using CubbyFlow::PointNeighborSearcher2Ptr = typedef std::shared_ptr<PointNeighborSearcher2> |
Shared pointer for the PointNeighborSearcher2 type.
◆ PointNeighborSearcher3Ptr
using CubbyFlow::PointNeighborSearcher3Ptr = typedef std::shared_ptr<PointNeighborSearcher3> |
Shared pointer for the PointNeighborSearcher3 type.
◆ PointNeighborSearcherBuilder2Ptr
using CubbyFlow::PointNeighborSearcherBuilder2Ptr = typedef std::shared_ptr<PointNeighborSearcherBuilder2> |
Shared pointer for the PointNeighborSearcherBuilder2 type.
◆ PointNeighborSearcherBuilder3Ptr
using CubbyFlow::PointNeighborSearcherBuilder3Ptr = typedef std::shared_ptr<PointNeighborSearcherBuilder3> |
Shared pointer for the PointNeighborSearcherBuilder3 type.
◆ PointParallelHashGridSearcher2Ptr
using CubbyFlow::PointParallelHashGridSearcher2Ptr = typedef std::shared_ptr<PointParallelHashGridSearcher2> |
Shared pointer for the PointParallelHashGridSearcher2 type.
◆ PointParallelHashGridSearcher3Ptr
using CubbyFlow::PointParallelHashGridSearcher3Ptr = typedef std::shared_ptr<PointParallelHashGridSearcher3> |
Shared pointer for the PointParallelHashGridSearcher3 type.
◆ PointParticleEmitter2Ptr
using CubbyFlow::PointParticleEmitter2Ptr = typedef std::shared_ptr<PointParticleEmitter2> |
Shared pointer for the PointParticleEmitter2 type.
◆ PointParticleEmitter3Ptr
using CubbyFlow::PointParticleEmitter3Ptr = typedef std::shared_ptr<PointParticleEmitter3> |
Shared pointer for the PointParticleEmitter3 type.
◆ PointSimpleListSearcher2Ptr
using CubbyFlow::PointSimpleListSearcher2Ptr = typedef std::shared_ptr<PointSimpleListSearcher2> |
Shared pointer for the PointSimpleListSearcher2 type.
◆ PointSimpleListSearcher3Ptr
using CubbyFlow::PointSimpleListSearcher3Ptr = typedef std::shared_ptr<PointSimpleListSearcher3> |
Shared pointer for the PointSimpleListSearcher3 type.
◆ PointsToImplicit2Ptr
using CubbyFlow::PointsToImplicit2Ptr = typedef std::shared_ptr<PointsToImplicit2> |
Shared pointer for the PointsToImplicit2 type.
◆ PointsToImplicit3Ptr
using CubbyFlow::PointsToImplicit3Ptr = typedef std::shared_ptr<PointsToImplicit3> |
Shared pointer for the PointsToImplicit3 type.
◆ QuaternionD
using CubbyFlow::QuaternionD = typedef Quaternion<double> |
Double-type quaternion.
◆ QuaternionF
using CubbyFlow::QuaternionF = typedef Quaternion<float> |
Float-type quaternion.
◆ Ray2
using CubbyFlow::Ray2 = typedef Ray<T, 2> |
Type alias for 2-D ray.
◆ Ray2D
using CubbyFlow::Ray2D = typedef Ray2<double> |
Double-type 2-D ray.
◆ Ray2F
using CubbyFlow::Ray2F = typedef Ray2<float> |
Float-type 2-D ray.
◆ Ray3
using CubbyFlow::Ray3 = typedef Ray<T, 3> |
Type alias for 3-D ray.
◆ Ray3D
using CubbyFlow::Ray3D = typedef Ray3<double> |
Double-type 3-D ray.
◆ Ray3F
using CubbyFlow::Ray3F = typedef Ray3<float> |
Float-type 3-D ray.
◆ RayIntersectionTestFunc2
using CubbyFlow::RayIntersectionTestFunc2 = typedef std::function<bool(const T&, const Ray2D&)> |
Ray-item intersection test function.
◆ RayIntersectionTestFunc3
using CubbyFlow::RayIntersectionTestFunc3 = typedef std::function<bool(const T&, const Ray3D&)> |
Ray-item intersection test function.
◆ RigidBodyCollider2Ptr
using CubbyFlow::RigidBodyCollider2Ptr = typedef std::shared_ptr<RigidBodyCollider2> |
Shared pointer for the RigidBodyCollider2 type.
◆ RigidBodyCollider3Ptr
using CubbyFlow::RigidBodyCollider3Ptr = typedef std::shared_ptr<RigidBodyCollider3> |
Shared pointer for the RigidBodyCollider3 type.
◆ ScalarField2Ptr
using CubbyFlow::ScalarField2Ptr = typedef std::shared_ptr<ScalarField2> |
Shared pointer for the ScalarField2 type.
◆ ScalarField3Ptr
using CubbyFlow::ScalarField3Ptr = typedef std::shared_ptr<ScalarField3> |
Shared pointer for the ScalarField3 type.
◆ ScalarGrid2Ptr
using CubbyFlow::ScalarGrid2Ptr = typedef std::shared_ptr<ScalarGrid2> |
Shared pointer for the ScalarGrid2 type.
◆ ScalarGrid3Ptr
using CubbyFlow::ScalarGrid3Ptr = typedef std::shared_ptr<ScalarGrid3> |
Shared pointer for the ScalarGrid3 type.
◆ ScalarGridBuilder2Ptr
using CubbyFlow::ScalarGridBuilder2Ptr = typedef std::shared_ptr<ScalarGridBuilder2> |
Shared pointer for the ScalarGridBuilder2 type.
◆ ScalarGridBuilder3Ptr
using CubbyFlow::ScalarGridBuilder3Ptr = typedef std::shared_ptr<ScalarGridBuilder3> |
Shared pointer for the ScalarGridBuilder3 type.
◆ SemiLagrangian2Ptr
using CubbyFlow::SemiLagrangian2Ptr = typedef std::shared_ptr<SemiLagrangian2> |
◆ SemiLagrangian3Ptr
using CubbyFlow::SemiLagrangian3Ptr = typedef std::shared_ptr<SemiLagrangian3> |
◆ Size
using CubbyFlow::Size = typedef Point<size_t, N> |
◆ Size2
using CubbyFlow::Size2 = typedef Point2<size_t> |
◆ Size3
using CubbyFlow::Size3 = typedef Point3<size_t> |
◆ Sphere2Ptr
using CubbyFlow::Sphere2Ptr = typedef std::shared_ptr<Sphere2> |
Shared pointer for the Sphere2 type.
◆ Sphere3Ptr
using CubbyFlow::Sphere3Ptr = typedef std::shared_ptr<Sphere3> |
Shared pointer for the Sphere3 type.
◆ SphericalPointsToImplicit2Ptr
using CubbyFlow::SphericalPointsToImplicit2Ptr = typedef std::shared_ptr<SphericalPointsToImplicit2> |
Shared pointer type for SphericalPointsToImplicit2.
◆ SphericalPointsToImplicit3Ptr
using CubbyFlow::SphericalPointsToImplicit3Ptr = typedef std::shared_ptr<SphericalPointsToImplicit3> |
Shared pointer type for SphericalPointsToImplicit3.
◆ SPHPointsToImplicit2Ptr
using CubbyFlow::SPHPointsToImplicit2Ptr = typedef std::shared_ptr<SPHPointsToImplicit2> |
Shared pointer type for SPHPointsToImplicit2 class.
◆ SPHPointsToImplicit3Ptr
using CubbyFlow::SPHPointsToImplicit3Ptr = typedef std::shared_ptr<SPHPointsToImplicit3> |
Shared pointer type for SPHPointsToImplicit3 class.
◆ SPHSolver2Ptr
using CubbyFlow::SPHSolver2Ptr = typedef std::shared_ptr<SPHSolver2> |
Shared pointer type for the SPHSolver2.
◆ SPHSolver3Ptr
using CubbyFlow::SPHSolver3Ptr = typedef std::shared_ptr<SPHSolver3> |
Shared pointer type for the SPHSolver3.
◆ SPHSystemData2Ptr
using CubbyFlow::SPHSystemData2Ptr = typedef std::shared_ptr<SPHSystemData2> |
Shared pointer for the SPHSystemData2 type.
◆ SPHSystemData3Ptr
using CubbyFlow::SPHSystemData3Ptr = typedef std::shared_ptr<SPHSystemData3> |
Shared pointer for the SPHSystemData3 type.
◆ Surface2Ptr
using CubbyFlow::Surface2Ptr = typedef std::shared_ptr<Surface2> |
Shared pointer for the Surface2 type.
◆ Surface3Ptr
using CubbyFlow::Surface3Ptr = typedef std::shared_ptr<Surface3> |
Shared pointer for the Surface3 type.
◆ SurfaceSet2Ptr
using CubbyFlow::SurfaceSet2Ptr = typedef std::shared_ptr<SurfaceSet2> |
Shared pointer for the SurfaceSet2 type.
◆ SurfaceSet3Ptr
using CubbyFlow::SurfaceSet3Ptr = typedef std::shared_ptr<SurfaceSet3> |
Shared pointer for the SurfaceSet3 type.
◆ SurfaceToImplicit2Ptr
using CubbyFlow::SurfaceToImplicit2Ptr = typedef std::shared_ptr<SurfaceToImplicit2> |
Shared pointer for the SurfaceToImplicit2 type.
◆ SurfaceToImplicit3Ptr
using CubbyFlow::SurfaceToImplicit3Ptr = typedef std::shared_ptr<SurfaceToImplicit3> |
Shared pointer for the SurfaceToImplicit3.
◆ Triangle3Ptr
using CubbyFlow::Triangle3Ptr = typedef std::shared_ptr<Triangle3> |
Shared pointer for the Triangle3 type.
◆ TriangleMesh3Ptr
using CubbyFlow::TriangleMesh3Ptr = typedef std::shared_ptr<TriangleMesh3> |
Shared pointer for the TriangleMesh3 type.
◆ TrianglePointGeneratorPtr
using CubbyFlow::TrianglePointGeneratorPtr = typedef std::shared_ptr<TrianglePointGenerator> |
◆ UpwindLevelSetSolver2Ptr
using CubbyFlow::UpwindLevelSetSolver2Ptr = typedef std::shared_ptr<UpwindLevelSetSolver2> |
◆ UpwindLevelSetSolver3Ptr
using CubbyFlow::UpwindLevelSetSolver3Ptr = typedef std::shared_ptr<UpwindLevelSetSolver3> |
◆ Vector2
using CubbyFlow::Vector2 = typedef Vector<T, 2> |
Type alias for two dimensional vector.
◆ Vector2D
using CubbyFlow::Vector2D = typedef Vector2<double> |
Double-type 2D vector.
◆ Vector2F
using CubbyFlow::Vector2F = typedef Vector2<float> |
Float-type 2D vector.
◆ Vector3
using CubbyFlow::Vector3 = typedef Vector<T, 3> |
Type alias for three dimensional vector.
◆ Vector3D
using CubbyFlow::Vector3D = typedef Vector3<double> |
Double-type 3D vector.
◆ Vector3F
using CubbyFlow::Vector3F = typedef Vector3<float> |
Float-type 3D vector.
◆ Vector4
using CubbyFlow::Vector4 = typedef Vector<T, 4> |
Type alias for four dimensional vector.
◆ Vector4D
using CubbyFlow::Vector4D = typedef Vector4<double> |
Double-type 4D vector.
◆ Vector4F
using CubbyFlow::Vector4F = typedef Vector4<float> |
Float-type 4D vector.
◆ VectorAdd
using CubbyFlow::VectorAdd = typedef VectorBinaryOp<T, E1, E2, std::plus<T> > |
Vector-vector addition expression.
◆ VectorDiv
using CubbyFlow::VectorDiv = typedef VectorBinaryOp<T, E1, E2, std::divides<T> > |
Element-wise vector-vector division expression.
◆ VectorField2Ptr
using CubbyFlow::VectorField2Ptr = typedef std::shared_ptr<VectorField2> |
Shared pointer for the VectorField2 type.
◆ VectorField3Ptr
using CubbyFlow::VectorField3Ptr = typedef std::shared_ptr<VectorField3> |
Shared pointer for the VectorField3 type.
◆ VectorGrid2Ptr
using CubbyFlow::VectorGrid2Ptr = typedef std::shared_ptr<VectorGrid2> |
Shared pointer for the VectorGrid2 type.
◆ VectorGrid3Ptr
using CubbyFlow::VectorGrid3Ptr = typedef std::shared_ptr<VectorGrid3> |
Shared pointer for the VectorGrid3 type.
◆ VectorGridBuilder2Ptr
using CubbyFlow::VectorGridBuilder2Ptr = typedef std::shared_ptr<VectorGridBuilder2> |
Shared pointer for the VectorGridBuilder2 type.
◆ VectorGridBuilder3Ptr
using CubbyFlow::VectorGridBuilder3Ptr = typedef std::shared_ptr<VectorGridBuilder3> |
Shared pointer for the VectorGridBuilder3 type.
◆ VectorMul
using CubbyFlow::VectorMul = typedef VectorBinaryOp<T, E1, E2, std::multiplies<T> > |
Element-wise vector-vector multiplication expression.
◆ VectorND
using CubbyFlow::VectorND = typedef VectorN<double> |
Double-type N-D vector.
◆ VectorNF
using CubbyFlow::VectorNF = typedef VectorN<float> |
Float-type N-D vector.
◆ VectorScalarAdd
using CubbyFlow::VectorScalarAdd = typedef VectorScalarBinaryOp<T, E, std::plus<T> > |
Vector-scalar addition expression.
◆ VectorScalarDiv
using CubbyFlow::VectorScalarDiv = typedef VectorScalarBinaryOp<T, E, std::divides<T> > |
Vector-scalar division expression.
◆ VectorScalarMul
using CubbyFlow::VectorScalarMul = typedef VectorScalarBinaryOp<T, E, std::multiplies<T> > |
Vector-scalar multiplication expression.
◆ VectorScalarRDiv
using CubbyFlow::VectorScalarRDiv = typedef VectorScalarBinaryOp<T, E, RDivides<T> > |
Scalar-vector division expression.
◆ VectorScalarRSub
using CubbyFlow::VectorScalarRSub = typedef VectorScalarBinaryOp<T, E, RMinus<T> > |
Scalar-vector subtraction expression.
◆ VectorScalarSub
using CubbyFlow::VectorScalarSub = typedef VectorScalarBinaryOp<T, E, std::minus<T> > |
Vector-scalar subtraction expression.
◆ VectorSub
using CubbyFlow::VectorSub = typedef VectorBinaryOp<T, E1, E2, std::minus<T> > |
Vector-vector addition expression.
◆ VectorTypeCast
using CubbyFlow::VectorTypeCast = typedef VectorUnaryOp<T, E, TypeCast<U, T> > |
Matrix expression for type casting.
◆ VertexCenteredScalarGrid2Ptr
using CubbyFlow::VertexCenteredScalarGrid2Ptr = typedef std::shared_ptr<VertexCenteredScalarGrid2> |
Shared pointer for the VertexCenteredScalarGrid2 type.
◆ VertexCenteredScalarGrid3Ptr
using CubbyFlow::VertexCenteredScalarGrid3Ptr = typedef std::shared_ptr<VertexCenteredScalarGrid3> |
Shared pointer for the VertexCenteredScalarGrid3 type.
◆ VertexCenteredVectorGrid2Ptr
using CubbyFlow::VertexCenteredVectorGrid2Ptr = typedef std::shared_ptr<VertexCenteredVectorGrid2> |
Shared pointer for the VertexCenteredVectorGrid2 type.
◆ VertexCenteredVectorGrid3Ptr
using CubbyFlow::VertexCenteredVectorGrid3Ptr = typedef std::shared_ptr<VertexCenteredVectorGrid3> |
Shared pointer for the VertexCenteredVectorGrid3 type.
◆ VolumeGridEmitter2Ptr
using CubbyFlow::VolumeGridEmitter2Ptr = typedef std::shared_ptr<VolumeGridEmitter2> |
Shared pointer type for the VolumeGridEmitter2.
◆ VolumeGridEmitter3Ptr
using CubbyFlow::VolumeGridEmitter3Ptr = typedef std::shared_ptr<VolumeGridEmitter3> |
Shared pointer type for the VolumeGridEmitter3.
◆ VolumeParticleEmitter2Ptr
using CubbyFlow::VolumeParticleEmitter2Ptr = typedef std::shared_ptr<VolumeParticleEmitter2> |
Shared pointer for the VolumeParticleEmitter2 type.
◆ VolumeParticleEmitter3Ptr
using CubbyFlow::VolumeParticleEmitter3Ptr = typedef std::shared_ptr<VolumeParticleEmitter3> |
Shared pointer for the VolumeParticleEmitter3 type.
◆ ZhuBridsonPointsToImplicit2Ptr
using CubbyFlow::ZhuBridsonPointsToImplicit2Ptr = typedef std::shared_ptr<ZhuBridsonPointsToImplicit2> |
Shared pointer type for ZhuBridsonPointsToImplicit2 class.
◆ ZhuBridsonPointsToImplicit3Ptr
using CubbyFlow::ZhuBridsonPointsToImplicit3Ptr = typedef std::shared_ptr<ZhuBridsonPointsToImplicit3> |
Shared pointer type for ZhuBridsonPointsToImplicit3 class.
Enumeration Type Documentation
◆ ExecutionPolicy
|
strong |
◆ LogLevel
|
strong |
Function Documentation
◆ AbsMax()
|
inline |
Returns the absolute maximum value among the two inputs.
- Parameters
-
[in] x The first value. [in] y The second value.
- Template Parameters
-
T Value type.
- Returns
- The absolute maximum.
◆ AbsMaxN()
|
inline |
Returns absolute maximum among n-elements.
◆ AbsMin()
|
inline |
Returns the absolute minimum value among the two inputs.
- Parameters
-
[in] x The first value. [in] y The second value.
- Template Parameters
-
T Value type.
- Returns
- The absolute minimum.
◆ AbsMinN()
|
inline |
Returns absolute minimum among n-elements.
◆ ArgMax2()
|
inline |
◆ ArgMax3()
|
inline |
◆ ArgMin2()
|
inline |
◆ ArgMin3()
|
inline |
◆ BiLerp()
|
inline |
Computes bilinear interpolation.
◆ BinaryFind()
ForwardIter CubbyFlow::BinaryFind | ( | ForwardIter | first, |
ForwardIter | last, | ||
const T & | value, | ||
Compare | comp | ||
) |
◆ CatmullRom()
|
inline |
Computes Catmull-Rom interpolation.
◆ CD2()
T CubbyFlow::CD2 | ( | T * | d0, |
T | dx | ||
) |
2nd order central differencing. d0[1] is the origin.
◆ Ceil() [1/5]
Returns element-wise ceiled point.
◆ Ceil() [2/5]
Returns element-wise ceiled point.
◆ Ceil() [3/5]
Returns element-wise ceiled vector.
◆ Ceil() [4/5]
Returns element-wise ceiled vector.
◆ Ceil() [5/5]
Returns element-wise ceiled vector.
◆ CG()
void CubbyFlow::CG | ( | const typename BLASType::MatrixType & | A, |
const typename BLASType::VectorType & | b, | ||
unsigned int | maxNumberOfIterations, | ||
double | tolerance, | ||
typename BLASType::VectorType * | x, | ||
typename BLASType::VectorType * | r, | ||
typename BLASType::VectorType * | d, | ||
typename BLASType::VectorType * | q, | ||
typename BLASType::VectorType * | s, | ||
unsigned int * | lastNumberOfIterations, | ||
double * | lastResidualNorm | ||
) |
Solves conjugate gradient.
◆ Clamp() [1/6]
|
inline |
Returns the clamped value.
- Parameters
-
[in] val The value. [in] low The low value. [in] high The high value.
- Template Parameters
-
T Value type.
- Returns
- The clamped value.
◆ Clamp() [2/6]
Point< T, 2 > CubbyFlow::Clamp | ( | const Point< T, 2 > & | v, |
const Point< T, 2 > & | low, | ||
const Point< T, 2 > & | high | ||
) |
Returns element-wise clamped point.
◆ Clamp() [3/6]
Point< T, 3 > CubbyFlow::Clamp | ( | const Point< T, 3 > & | v, |
const Point< T, 3 > & | low, | ||
const Point< T, 3 > & | high | ||
) |
Returns element-wise clamped point.
◆ Clamp() [4/6]
Vector< T, 2 > CubbyFlow::Clamp | ( | const Vector< T, 2 > & | v, |
const Vector< T, 2 > & | low, | ||
const Vector< T, 2 > & | high | ||
) |
Returns element-wise clamped vector.
◆ Clamp() [5/6]
Vector< T, 4 > CubbyFlow::Clamp | ( | const Vector< T, 4 > & | v, |
const Vector< T, 4 > & | low, | ||
const Vector< T, 4 > & | high | ||
) |
Returns element-wise clamped vector.
◆ Clamp() [6/6]
Vector< T, 3 > CubbyFlow::Clamp | ( | const Vector< T, 3 > & | v, |
const Vector< T, 3 > & | low, | ||
const Vector< T, 3 > & | high | ||
) |
Returns element-wise clamped vector.
◆ ComputeDragForce() [1/2]
|
inline |
◆ ComputeDragForce() [2/2]
|
inline |
◆ ComputePressureFromEos()
|
inline |
◆ ConvertToCSV()
void CubbyFlow::ConvertToCSV | ( | const ArrayType & | data, |
std::ostream * | stream | ||
) |
Converts 2-D array to Comma Separated Value (CSV) stream.
- Parameters
-
data - data to convert stream - stream object to write CSV
◆ CopyRange1() [1/2]
void CubbyFlow::CopyRange1 | ( | const ArrayType1 & | input, |
size_t | size, | ||
ArrayType2 * | output | ||
) |
Copies input
array to output
array with size
.
This function copies input
array to output
array with size
. The input and output array must support random access operator [].
◆ CopyRange1() [2/2]
void CubbyFlow::CopyRange1 | ( | const ArrayType1 & | input, |
size_t | begin, | ||
size_t | end, | ||
ArrayType2 * | output | ||
) |
Copies input
array to output
array from begin
to end
.
This function copies input
array to output
array from begin
to end
. The input and output array must support random access operator [].
◆ CopyRange2() [1/2]
void CubbyFlow::CopyRange2 | ( | const ArrayType1 & | input, |
size_t | sizeX, | ||
size_t | sizeY, | ||
ArrayType2 * | output | ||
) |
Copies 2-D input
array to output
array with sizeX
and sizeY
.
This function copies 2-D input
array to output
array with sizeX
and sizeY
. The input and output array must support 2-D random access operator (i, j).
◆ CopyRange2() [2/2]
void CubbyFlow::CopyRange2 | ( | const ArrayType1 & | input, |
size_t | beginX, | ||
size_t | endX, | ||
size_t | beginY, | ||
size_t | endY, | ||
ArrayType2 * | output | ||
) |
Copies 2-D input
array to output
array from (beginX
, beginY
) to (endX
, endY
).
This function copies 2-D input
array to output
array from (beginX
, beginY
) to (endX
, endY
). The input and output array must support 2-D random access operator (i, j).
◆ CopyRange3() [1/2]
void CubbyFlow::CopyRange3 | ( | const ArrayType1 & | input, |
size_t | sizeX, | ||
size_t | sizeY, | ||
size_t | sizeZ, | ||
ArrayType2 * | output | ||
) |
Copies 3-D input
array to output
array with sizeX
and sizeY
.
This function copies 3-D input
array to output
array with sizeX
and sizeY
. The input and output array must support 3-D random access operator (i, j, k).
◆ CopyRange3() [2/2]
void CubbyFlow::CopyRange3 | ( | const ArrayType1 & | input, |
size_t | beginX, | ||
size_t | endX, | ||
size_t | beginY, | ||
size_t | endY, | ||
size_t | beginZ, | ||
size_t | endZ, | ||
ArrayType2 * | output | ||
) |
Copies 3-D input
array to output
array from (beginX
, beginY
, beginZ
) to (endX
, endY
, endZ
).
This function copies 3-D input
array to output
array from (beginX
, beginY
, beginZ
) to (endX
, endY
, endZ
). The input and output array must support 3-D random access operator (i, j, k).
◆ CosineWeightedSampleHemisphere()
|
inline |
Returns weighted sampled point on a hemisphere.
For a given hemisphere, defined by center normal vector, this function returns a point on the hemisphere, where the probability is cosine-weighted.
- Parameters
-
[in] u1 First random sample. [in] u2 Second random sample. [in] normal The center normal of the hemisphere.
- Template Parameters
-
T Real number type.
- Returns
- Sampled point.
◆ CubbyFlowToFlatbuffers() [1/4]
|
inline |
◆ CubbyFlowToFlatbuffers() [2/4]
|
inline |
◆ CubbyFlowToFlatbuffers() [3/4]
|
inline |
◆ CubbyFlowToFlatbuffers() [4/4]
|
inline |
◆ Cubic()
|
inline |
Returns the cubic of x
.
- Parameters
-
[in] x The input.
- Template Parameters
-
T Value type.
- Returns
- The cubic of
x
.
◆ CycleArray()
void CubbyFlow::CycleArray | ( | T * | arr, |
int | size | ||
) |
◆ DegreesToRadians()
|
inline |
Converts degrees to radians.
- Parameters
-
[in] angleInDegrees The angle in degrees.
- Template Parameters
-
T Value type.
- Returns
- Angle in radians.
◆ Deserialize() [1/3]
void CubbyFlow::Deserialize | ( | const std::vector< uint8_t > & | buffer, |
Array1< T > * | array | ||
) |
Deserializes buffer to data chunk using common schema.
◆ Deserialize() [2/3]
void CubbyFlow::Deserialize | ( | const std::vector< uint8_t > & | buffer, |
Serializable * | serializable | ||
) |
Deserializes buffer to serializable object.
◆ Deserialize() [3/3]
void CubbyFlow::Deserialize | ( | const std::vector< uint8_t > & | buffer, |
std::vector< uint8_t > * | data | ||
) |
Deserializes buffer to data chunk using common schema.
◆ DeserializeGrid()
void CubbyFlow::DeserializeGrid | ( | FbsGridList * | fbsGridList, |
FactoryFunc | factoryFunc, | ||
std::vector< GridType > * | gridList | ||
) |
◆ DistanceToZeroLevelSet()
T CubbyFlow::DistanceToZeroLevelSet | ( | T | phi0, |
T | phi1 | ||
) |
◆ ENO3() [1/2]
std::array< T, 2 > CubbyFlow::ENO3 | ( | T * | d0, |
T | dx | ||
) |
3rd order ENO. d0[3] is the origin.
Returns two solutions for each side.
◆ ENO3() [2/2]
T CubbyFlow::ENO3 | ( | T * | d0, |
T | dx, | ||
bool | isDirectionPositive | ||
) |
3rd order ENO. d0[3] is the origin.
◆ ExtrapolateToRegion() [1/2]
void CubbyFlow::ExtrapolateToRegion | ( | const ConstArrayAccessor2< T > & | input, |
const ConstArrayAccessor2< char > & | valid, | ||
unsigned int | numberOfIterations, | ||
ArrayAccessor2< T > | output | ||
) |
Extrapolates 2-D input data from 'valid' (1) to 'invalid' (0) region.
This function extrapolates 2-D input data from 'valid' (1) to 'invalid' (0) region. It iterates multiple times to propagate the 'valid' values to nearby 'invalid' region. The maximum distance of the propagation is equal to numberOfIterations. The input parameters 'valid' and 'data' should be collocated.
- Parameters
-
input - data to extrapolate valid - set 1 if valid, else 0. numberOfIterations - number of iterations for propagation output - extrapolated output
◆ ExtrapolateToRegion() [2/2]
void CubbyFlow::ExtrapolateToRegion | ( | const ConstArrayAccessor3< T > & | input, |
const ConstArrayAccessor3< char > & | valid, | ||
unsigned int | numberOfIterations, | ||
ArrayAccessor3< T > | output | ||
) |
Extrapolates 3-D input data from 'valid' (1) to 'invalid' (0) region.
This function extrapolates 3-D input data from 'valid' (1) to 'invalid' (0) region. It iterates multiple times to propagate the 'valid' values to nearby 'invalid' region. The maximum distance of the propagation is equal to numberOfIterations. The input parameters 'valid' and 'data' should be collocated.
- Parameters
-
input - data to extrapolate valid - set 1 if valid, else 0. numberOfIterations - number of iterations for propagation output - extrapolated output
◆ FlatbuffersToCubbyFlow() [1/4]
|
inline |
◆ FlatbuffersToCubbyFlow() [2/4]
|
inline |
◆ FlatbuffersToCubbyFlow() [3/4]
|
inline |
◆ FlatbuffersToCubbyFlow() [4/4]
|
inline |
◆ Floor() [1/5]
Returns element-wise floored point.
◆ Floor() [2/5]
Returns element-wise floored point.
◆ Floor() [3/5]
Returns element-wise floored vector.
◆ Floor() [4/5]
Returns element-wise floored vector.
◆ Floor() [5/5]
Returns element-wise floored vector.
◆ FractionInside()
T CubbyFlow::FractionInside | ( | T | phiBottomLeft, |
T | phiBottomRight, | ||
T | phiTopLeft, | ||
T | phiTopRight | ||
) |
Returns the fraction occupied by the implicit surface.
Given four signed distance values (square corners), determine what fraction of the square is "inside". The original implementation can be found from Christopher Batty's variational fluid code at https://github.com/christopherbatty/Fluid3D.
- Template Parameters
-
T Value type.
- Parameters
-
phiBottomLeft The level set value on the bottom-left corner. phiBottomRight The level set value on the bottom-right corner. phiTopLeft The level set value on the top-left corner. phiTopRight The level set value on the top-right corner.
- Returns
- The fraction occupied by the implicit surface.
◆ FractionInsideSDF()
T CubbyFlow::FractionInsideSDF | ( | T | phi0, |
T | phi1 | ||
) |
Returns the fraction occupied by the implicit surface.
The input parameters, phi0
and phi1
, are the level set values, measured from two nearby points. This function computes how much the implicit surface occupies the line between two points. For example, if both phi0
and phi1
are negative, it means the points are both inside the surface, thus the function will return 1. If both are positive, it will return 0 because both are outside the surface. If the signs are different, then only one of the points is inside the surface and the function will return a value between 0 and 1.
- Parameters
-
[in] phi0 The level set value from the first point. [in] phi1 The level set value from the second point.
- Template Parameters
-
T Value type.
- Returns
- The fraction occupied by the implicit surface.
◆ GetBarycentric()
|
inline |
Gets the barycentric coordinate.
- Parameters
-
[in] x The input value. [in] iLow The lowest index. [in] iHigh The highest index. i The output index. t The offset from i
.
- Template Parameters
-
T Value type.
◆ GetMaxNumberOfThreads()
unsigned int CubbyFlow::GetMaxNumberOfThreads | ( | ) |
Returns maximum number of threads to use.
◆ Gradient2() [1/2]
Vector2D CubbyFlow::Gradient2 | ( | const ConstArrayAccessor2< double > & | data, |
const Vector2D & | gridSpacing, | ||
size_t | i, | ||
size_t | j | ||
) |
Returns 2-D gradient vector from given 2-D scalar grid-like array data
, gridSpacing
, and array index (i
, j
).
◆ Gradient2() [2/2]
std::array<Vector2D, 2> CubbyFlow::Gradient2 | ( | const ConstArrayAccessor2< Vector2D > & | data, |
const Vector2D & | gridSpacing, | ||
size_t | i, | ||
size_t | j | ||
) |
Returns 2-D gradient vectors from given 2-D vector grid-like array data
, gridSpacing
, and array index (i
, j
).
◆ Gradient3() [1/2]
Vector3D CubbyFlow::Gradient3 | ( | const ConstArrayAccessor3< double > & | data, |
const Vector3D & | gridSpacing, | ||
size_t | i, | ||
size_t | j, | ||
size_t | k | ||
) |
Returns 3-D gradient vector from given 3-D scalar grid-like array data
, gridSpacing
, and array index (i
, j
, k
).
◆ Gradient3() [2/2]
std::array<Vector3D, 3> CubbyFlow::Gradient3 | ( | const ConstArrayAccessor3< Vector3D > & | data, |
const Vector3D & | gridSpacing, | ||
size_t | i, | ||
size_t | j, | ||
size_t | k | ||
) |
Returns 3-D gradient vectors from given 3-D vector grid-like array data
, gridSpacing
, and array index (i
, j
, k
).
◆ HalfPI()
constexpr T CubbyFlow::HalfPI | ( | ) |
PI/2 for type T.
◆ HalfPI< double >()
constexpr double CubbyFlow::HalfPI< double > | ( | ) |
PI/2 for double.
◆ HalfPI< float >()
constexpr float CubbyFlow::HalfPI< float > | ( | ) |
PI/2 for float.
◆ IsInsideSDF()
bool CubbyFlow::IsInsideSDF | ( | T | phi | ) |
Returns true if phi
is inside the implicit surface (< 0).
- Parameters
-
[in] phi The level set value.
- Template Parameters
-
T Value type.
- Returns
- True if inside the implicit surface, false otherwise.
◆ Laplacian2() [1/2]
double CubbyFlow::Laplacian2 | ( | const ConstArrayAccessor2< double > & | data, |
const Vector2D & | gridSpacing, | ||
size_t | i, | ||
size_t | j | ||
) |
Returns Laplacian value from given 2-D scalar grid-like array data
, gridSpacing
, and array index (i
, j
).
◆ Laplacian2() [2/2]
Vector2D CubbyFlow::Laplacian2 | ( | const ConstArrayAccessor2< Vector2D > & | data, |
const Vector2D & | gridSpacing, | ||
size_t | i, | ||
size_t | j | ||
) |
Returns 2-D Laplacian vectors from given 2-D vector grid-like array data
, gridSpacing
, and array index (i
, j
).
◆ Laplacian3() [1/2]
double CubbyFlow::Laplacian3 | ( | const ConstArrayAccessor3< double > & | data, |
const Vector3D & | gridSpacing, | ||
size_t | i, | ||
size_t | j, | ||
size_t | k | ||
) |
Returns Laplacian value from given 3-D scalar grid-like array data
, gridSpacing
, and array index (i
, j
, k
).
◆ Laplacian3() [2/2]
Vector3D CubbyFlow::Laplacian3 | ( | const ConstArrayAccessor3< Vector3D > & | data, |
const Vector3D & | gridSpacing, | ||
size_t | i, | ||
size_t | j, | ||
size_t | k | ||
) |
Returns 3-D Laplacian vectors from given 3-D vector grid-like array data
, gridSpacing
, and array index (i
, j
, k
).
◆ Lerp()
|
inline |
Computes linear interpolation.
- Parameters
-
[in] f0 The first value. [in] f1 The second value. [in] t Relative offset [0, 1] from the first value.
- Template Parameters
-
S Input value type. T Offset type.
- Returns
- The interpolated value.
◆ MarchingCubes()
void CubbyFlow::MarchingCubes | ( | const ConstArrayAccessor3< double > & | grid, |
const Vector3D & | gridSize, | ||
const Vector3D & | origin, | ||
TriangleMesh3 * | mesh, | ||
double | isoValue = 0 , |
||
int | bndFlag = DIRECTION_ALL |
||
) |
Computes marching cubes and extract triangle mesh from grid.
This function computes the marching cube algorithm to extract triangle mesh from the scalar grid field. The triangle mesh will be the iso-surface, and the iso-value can be specified. For the boundaries (or the walls), it can be specified whether to close or open.
- Parameters
-
[in] grid The grid. [in] gridSize The grid size. [in] origin The origin. mesh The output triangle mesh. [in] isoValue The iso-surface value. [in] bndFlag The boundary direction flag.
◆ Max() [1/5]
Point< T, 2 > CubbyFlow::Max | ( | const Point< T, 2 > & | a, |
const Point< T, 2 > & | b | ||
) |
Returns element-wise max point: (max(a.x, b.x), max(a.y, b.y)).
◆ Max() [2/5]
Point< T, 3 > CubbyFlow::Max | ( | const Point< T, 3 > & | a, |
const Point< T, 3 > & | b | ||
) |
Returns element-wise max point.
◆ Max() [3/5]
Vector< T, 2 > CubbyFlow::Max | ( | const Vector< T, 2 > & | a, |
const Vector< T, 2 > & | b | ||
) |
Returns element-wise max vector: (max(a.x, b.x), max(a.y, b.y)).
◆ Max() [4/5]
Vector< T, 4 > CubbyFlow::Max | ( | const Vector< T, 4 > & | a, |
const Vector< T, 4 > & | b | ||
) |
Returns element-wise max vector.
◆ Max() [5/5]
Vector< T, 3 > CubbyFlow::Max | ( | const Vector< T, 3 > & | a, |
const Vector< T, 3 > & | b | ||
) |
Returns element-wise max vector.
◆ MGCycle()
MGResult CubbyFlow::MGCycle | ( | const MGMatrix< BlasType > & | A, |
MGParameters< BlasType > | params, | ||
MGVector< BlasType > * | x, | ||
MGVector< BlasType > * | b, | ||
MGVector< BlasType > * | buffer | ||
) |
Performs Multi-grid with V-cycle.
For given linear system matrix A
and RHS vector b
, this function computes the solution x
using Multi-grid method with V-cycle.
◆ MGVCycle()
MGResult CubbyFlow::MGVCycle | ( | const MGMatrix< BlasType > & | A, |
MGParameters< BlasType > | params, | ||
MGVector< BlasType > * | x, | ||
MGVector< BlasType > * | b, | ||
MGVector< BlasType > * | buffer | ||
) |
◆ Min() [1/5]
Point< T, 2 > CubbyFlow::Min | ( | const Point< T, 2 > & | a, |
const Point< T, 2 > & | b | ||
) |
Returns element-wise min point: (min(a.x, b.x), min(a.y, b.y)).
◆ Min() [2/5]
Point< T, 3 > CubbyFlow::Min | ( | const Point< T, 3 > & | a, |
const Point< T, 3 > & | b | ||
) |
Returns element-wise min point.
◆ Min() [3/5]
Vector< T, 2 > CubbyFlow::Min | ( | const Vector< T, 2 > & | a, |
const Vector< T, 2 > & | b | ||
) |
Returns element-wise min vector: (min(a.x, b.x), min(a.y, b.y)).
◆ Min() [4/5]
Vector< T, 4 > CubbyFlow::Min | ( | const Vector< T, 4 > & | a, |
const Vector< T, 4 > & | b | ||
) |
Returns element-wise min vector.
◆ Min() [5/5]
Vector< T, 3 > CubbyFlow::Min | ( | const Vector< T, 3 > & | a, |
const Vector< T, 3 > & | b | ||
) |
Returns element-wise min vector.
◆ MonotonicCatmullRom() [1/5]
|
inline |
Computes monotonic Catmull-Rom interpolation.
◆ MonotonicCatmullRom() [2/5]
Vector3<T> CubbyFlow::MonotonicCatmullRom | ( | const Vector3< T > & | v0, |
const Vector3< T > & | v1, | ||
const Vector3< T > & | v2, | ||
const Vector3< T > & | v3, | ||
T | f | ||
) |
Computes monotonic Catmull-Rom interpolation.
◆ MonotonicCatmullRom() [3/5]
Vector< T, 2 > CubbyFlow::MonotonicCatmullRom | ( | const Vector< T, 2 > & | v0, |
const Vector< T, 2 > & | v1, | ||
const Vector< T, 2 > & | v2, | ||
const Vector< T, 2 > & | v3, | ||
T | f | ||
) |
Computes monotonic Catmull-Rom interpolation.
◆ MonotonicCatmullRom() [4/5]
Vector< T, 4 > CubbyFlow::MonotonicCatmullRom | ( | const Vector< T, 4 > & | v0, |
const Vector< T, 4 > & | v1, | ||
const Vector< T, 4 > & | v2, | ||
const Vector< T, 4 > & | v3, | ||
T | f | ||
) |
Computes monotonic Catmull-Rom interpolation.
◆ MonotonicCatmullRom() [5/5]
Vector<T, 3> CubbyFlow::MonotonicCatmullRom | ( | const Vector< T, 3 > & | v0, |
const Vector< T, 3 > & | v1, | ||
const Vector< T, 3 > & | v2, | ||
const Vector< T, 3 > & | v3, | ||
T | f | ||
) |
◆ ObjectToPoint2UI()
|
inline |
◆ ObjectToPoint3UI()
|
inline |
◆ ObjectToQuaternionD()
|
inline |
◆ ObjectToQuaternionF()
|
inline |
◆ ObjectToSize2()
|
inline |
◆ ObjectToSize3()
|
inline |
◆ ObjectToVector2D()
|
inline |
◆ ObjectToVector2F()
|
inline |
◆ ObjectToVector3D()
|
inline |
◆ ObjectToVector3F()
|
inline |
◆ ObjectToVector4D()
|
inline |
◆ ObjectToVector4F()
|
inline |
◆ One()
constexpr T CubbyFlow::One | ( | ) |
One for type T.
◆ One< double >()
constexpr double CubbyFlow::One< double > | ( | ) |
One for double.
◆ One< float >()
constexpr float CubbyFlow::One< float > | ( | ) |
One for float.
◆ operator*() [1/44]
VectorScalarMul< T, E > CubbyFlow::operator* | ( | const T & | a, |
const VectorExpression< T, E > & | b | ||
) |
Scalar-vector multiplication operation.
◆ operator*() [2/44]
VectorScalarMul< T, E > CubbyFlow::operator* | ( | const VectorExpression< T, E > & | a, |
const T & | b | ||
) |
Vector-scalar multiplication operation.
◆ operator*() [3/44]
VectorMul< T, E1, E2 > CubbyFlow::operator* | ( | const VectorExpression< T, E1 > & | a, |
const VectorExpression< T, E2 > & | b | ||
) |
Element-wise vector-vector multiplication operation.
◆ operator*() [4/44]
MatrixScalarMul< T, E > CubbyFlow::operator* | ( | const MatrixExpression< T, E > & | a, |
T | b | ||
) |
Returns a * b', where every element of matrix b' is b.
◆ operator*() [5/44]
MatrixScalarMul< T, E > CubbyFlow::operator* | ( | T | a, |
const MatrixExpression< T, E > & | b | ||
) |
Returns a' * b, where every element of matrix a' is a.
◆ operator*() [6/44]
Vector3<T> CubbyFlow::operator* | ( | const Matrix< T, 3, 3 > & | a, |
const Vector3< T > & | b | ||
) |
Returns a * b.
◆ operator*() [7/44]
MatrixVectorMul< T, ME, VE > CubbyFlow::operator* | ( | const MatrixExpression< T, ME > & | a, |
const VectorExpression< T, VE > & | b | ||
) |
Returns a * b.
◆ operator*() [8/44]
MatrixMul< T, E1, E2 > CubbyFlow::operator* | ( | const MatrixExpression< T, E1 > & | a, |
const MatrixExpression< T, E2 > & | b | ||
) |
Returns a * b.
◆ operator*() [9/44]
Vector3<T> CubbyFlow::operator* | ( | const Matrix< T, 4, 4 > & | a, |
const Vector3< T > & | b | ||
) |
Returns a * b.
◆ operator*() [10/44]
Vector4<T> CubbyFlow::operator* | ( | const Matrix< T, 4, 4 > & | a, |
const Vector4< T > & | b | ||
) |
Returns a * b.
◆ operator*() [11/44]
Computes (a.x, a.y) * (b, b).
◆ operator*() [12/44]
Computes (a, a) * (b.x, b.y).
◆ operator*() [13/44]
Point< T, 2 > CubbyFlow::operator* | ( | const Point< T, 2 > & | a, |
const Point< T, 2 > & | b | ||
) |
Computes (a.x, a.y) * (b.x, b.y).
◆ operator*() [14/44]
Computes (a.x, a.y, a.z) * (b, b, b).
◆ operator*() [15/44]
Computes (a, a, a) * (b.x, b.y, b.z).
◆ operator*() [16/44]
Point< T, 3 > CubbyFlow::operator* | ( | const Point< T, 3 > & | a, |
const Point< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) * (b.x, b.y, b.z).
◆ operator*() [17/44]
Vector< T, 3 > CubbyFlow::operator* | ( | const Quaternion< T > & | q, |
const Vector< T, 3 > & | v | ||
) |
Returns quaternion q * vector v.
◆ operator*() [18/44]
Quaternion< T > CubbyFlow::operator* | ( | const Quaternion< T > & | a, |
const Quaternion< T > & | b | ||
) |
Returns quaternion a times quaternion b.
◆ operator*() [19/44]
Computes (a.x, a.y) * (b, b).
◆ operator*() [20/44]
Computes (a, a) * (b.x, b.y).
◆ operator*() [21/44]
Vector< T, 2 > CubbyFlow::operator* | ( | const Vector< T, 2 > & | a, |
const Vector< T, 2 > & | b | ||
) |
Computes (a.x, a.y) * (b.x, b.y).
◆ operator*() [22/44]
Computes (a.x, a.y, a.z, a.w) * (b, b, b, b).
◆ operator*() [23/44]
Computes (a, a, a, a) * (b.x, b.y, b.z, b.w).
◆ operator*() [24/44]
Vector< T, 4 > CubbyFlow::operator* | ( | const Vector< T, 4 > & | a, |
const Vector< T, 4 > & | b | ||
) |
Computes (a.x, a.y, a.z, a.w) * (b.x, b.y, b.z, b.w).
◆ operator*() [25/44]
Computes (a.x, a.y, a.z) * (b, b, b).
◆ operator*() [26/44]
Computes (a, a, a) * (b.x, b.y, b.z).
◆ operator*() [27/44]
Vector< T, 3 > CubbyFlow::operator* | ( | const Vector< T, 3 > & | a, |
const Vector< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) * (b.x, b.y, b.z).
◆ operator*() [28/44]
Matrix< T, 2, 2 > CubbyFlow::operator* | ( | const Matrix< T, 2, 2 > & | a, |
const T | b | ||
) |
Returns a * b', where every element of matrix b' is b.
◆ operator*() [29/44]
Matrix< T, 2, 2 > CubbyFlow::operator* | ( | const T | a, |
const Matrix< T, 2, 2 > & | b | ||
) |
Returns a' * b, where every element of matrix a' is a.
◆ operator*() [30/44]
Vector2< T > CubbyFlow::operator* | ( | const Matrix< T, 2, 2 > & | a, |
const Vector2< T > & | b | ||
) |
Returns a * b.
◆ operator*() [31/44]
Matrix< T, 2, 2 > CubbyFlow::operator* | ( | const Matrix< T, 2, 2 > & | a, |
const Matrix< T, 2, 2 > & | b | ||
) |
Returns a * b.
◆ operator*() [32/44]
Returns a * b', where every element of matrix b' is b.
◆ operator*() [33/44]
Returns a' * b, where every element of matrix a' is a.
◆ operator*() [34/44]
Vector<T, 3> CubbyFlow::operator* | ( | const Matrix< T, 3, 3 > & | a, |
const Vector< T, 3 > & | b | ||
) |
◆ operator*() [35/44]
Matrix< T, 3, 3 > CubbyFlow::operator* | ( | const Matrix< T, 3, 3 > & | a, |
const Matrix< T, 3, 3 > & | b | ||
) |
Returns a * b.
◆ operator*() [36/44]
Returns a * b', where every element of matrix b' is b.
◆ operator*() [37/44]
Returns a' * b, where every element of matrix a' is a.
◆ operator*() [38/44]
Vector<T, 3> CubbyFlow::operator* | ( | const Matrix< T, 4, 4 > & | a, |
const Vector< T, 3 > & | b | ||
) |
◆ operator*() [39/44]
Vector<T, 4> CubbyFlow::operator* | ( | const Matrix< T, 4, 4 > & | a, |
const Vector< T, 4 > & | b | ||
) |
◆ operator*() [40/44]
Matrix< T, 4, 4 > CubbyFlow::operator* | ( | const Matrix< T, 4, 4 > & | a, |
const Matrix< T, 4, 4 > & | b | ||
) |
Returns a * b.
◆ operator*() [41/44]
◆ operator*() [42/44]
◆ operator*() [43/44]
MatrixCSRVectorMul<T, VE> CubbyFlow::operator* | ( | const MatrixCSR< T > & | a, |
const VectorExpression< T, VE > & | b | ||
) |
◆ operator*() [44/44]
MatrixCSRMatrixMul<T, ME> CubbyFlow::operator* | ( | const MatrixCSR< T > & | a, |
const MatrixExpression< T, ME > & | b | ||
) |
◆ operator+() [1/38]
VectorScalarAdd< T, E > CubbyFlow::operator+ | ( | const T & | a, |
const VectorExpression< T, E > & | b | ||
) |
Scalar-vector addition operation.
◆ operator+() [2/38]
VectorScalarAdd< T, E > CubbyFlow::operator+ | ( | const VectorExpression< T, E > & | a, |
const T & | b | ||
) |
Vector-scalar addition operation.
◆ operator+() [3/38]
VectorAdd< T, E1, E2 > CubbyFlow::operator+ | ( | const VectorExpression< T, E1 > & | a, |
const VectorExpression< T, E2 > & | b | ||
) |
Vector-vector addition operation.
◆ operator+() [4/38]
MatrixAdd< T, E1, E2 > CubbyFlow::operator+ | ( | const MatrixExpression< T, E1 > & | a, |
const MatrixExpression< T, E2 > & | b | ||
) |
Returns a + b (element-size).
◆ operator+() [5/38]
MatrixScalarAdd< T, E > CubbyFlow::operator+ | ( | const MatrixExpression< T, E > & | a, |
T | b | ||
) |
Returns a + b', where every element of matrix b' is b.
◆ operator+() [6/38]
MatrixScalarAdd< T, E > CubbyFlow::operator+ | ( | T | a, |
const MatrixExpression< T, E > & | b | ||
) |
Returns a' + b, where every element of matrix a' is a.
◆ operator+() [7/38]
Positive sign operator.
◆ operator+() [8/38]
◆ operator+() [9/38]
Computes (a, a) + (b.x, b.y).
◆ operator+() [10/38]
Positive sign operator.
◆ operator+() [11/38]
Point< T, 2 > CubbyFlow::operator+ | ( | const Point< T, 2 > & | a, |
const Point< T, 2 > & | b | ||
) |
Computes (a.x, a.y) + (b.x, b.y).
◆ operator+() [12/38]
◆ operator+() [13/38]
Computes (a, a, a) + (b.x, b.y, b.z).
◆ operator+() [14/38]
Point< T, 3 > CubbyFlow::operator+ | ( | const Point< T, 3 > & | a, |
const Point< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) + (b.x, b.y, b.z).
◆ operator+() [15/38]
Positive sign operator.
◆ operator+() [16/38]
◆ operator+() [17/38]
Positive sign operator.
◆ operator+() [18/38]
Computes (a, a) + (b.x, b.y).
◆ operator+() [19/38]
Vector< T, 2 > CubbyFlow::operator+ | ( | const Vector< T, 2 > & | a, |
const Vector< T, 2 > & | b | ||
) |
Computes (a.x, a.y) + (b.x, b.y).
◆ operator+() [20/38]
◆ operator+() [21/38]
Positive sign operator.
◆ operator+() [22/38]
Computes (a, a, a, a) + (b.x, b.y, b.z, b.w).
◆ operator+() [23/38]
Vector< T, 4 > CubbyFlow::operator+ | ( | const Vector< T, 4 > & | a, |
const Vector< T, 4 > & | b | ||
) |
Computes (a.x, a.y, a.z, a.w) + (b.x, b.y, b.z, b.w).
◆ operator+() [24/38]
◆ operator+() [25/38]
Computes (a, a, a) + (b.x, b.y, b.z).
◆ operator+() [26/38]
Vector< T, 3 > CubbyFlow::operator+ | ( | const Vector< T, 3 > & | a, |
const Vector< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) + (b.x, b.y, b.z).
◆ operator+() [27/38]
Matrix< T, 2, 2 > CubbyFlow::operator+ | ( | const Matrix< T, 2, 2 > & | a, |
const Matrix< T, 2, 2 > & | b | ||
) |
Returns a + b (element-size).
◆ operator+() [28/38]
Matrix< T, 2, 2 > CubbyFlow::operator+ | ( | const Matrix< T, 2, 2 > & | a, |
const T | b | ||
) |
Returns a + b', where every element of matrix b' is b.
◆ operator+() [29/38]
Matrix< T, 2, 2 > CubbyFlow::operator+ | ( | const T | a, |
const Matrix< T, 2, 2 > & | b | ||
) |
Returns a' + b, where every element of matrix a' is a.
◆ operator+() [30/38]
Matrix< T, 3, 3 > CubbyFlow::operator+ | ( | const Matrix< T, 3, 3 > & | a, |
const Matrix< T, 3, 3 > & | b | ||
) |
Returns a + b (element-size).
◆ operator+() [31/38]
Matrix< T, 3, 3 > CubbyFlow::operator+ | ( | const Matrix< T, 3, 3 > & | a, |
const T | b | ||
) |
Returns a + b', where every element of matrix b' is b.
◆ operator+() [32/38]
Matrix< T, 3, 3 > CubbyFlow::operator+ | ( | const T | a, |
const Matrix< T, 3, 3 > & | b | ||
) |
Returns a' + b, where every element of matrix a' is a.
◆ operator+() [33/38]
Matrix< T, 4, 4 > CubbyFlow::operator+ | ( | const Matrix< T, 4, 4 > & | a, |
const Matrix< T, 4, 4 > & | b | ||
) |
Returns a + b (element-size).
◆ operator+() [34/38]
Matrix< T, 4, 4 > CubbyFlow::operator+ | ( | const Matrix< T, 4, 4 > & | a, |
const T | b | ||
) |
Returns a + b', where every element of matrix b' is b.
◆ operator+() [35/38]
Matrix< T, 4, 4 > CubbyFlow::operator+ | ( | const T | a, |
const Matrix< T, 4, 4 > & | b | ||
) |
Returns a' + b, where every element of matrix a' is a.
◆ operator+() [36/38]
MatrixCSR<T> CubbyFlow::operator+ | ( | const MatrixCSR< T > & | a, |
const MatrixCSR< T > & | b | ||
) |
◆ operator+() [37/38]
◆ operator+() [38/38]
◆ operator-() [1/43]
VectorScalarRSub< T, E > CubbyFlow::operator- | ( | const T & | a, |
const VectorExpression< T, E > & | b | ||
) |
Scalar-vector subtraction operation.
◆ operator-() [2/43]
VectorScalarSub< T, E > CubbyFlow::operator- | ( | const VectorExpression< T, E > & | a, |
const T & | b | ||
) |
Scalar-vector addition operation.
◆ operator-() [3/43]
VectorSub< T, E1, E2 > CubbyFlow::operator- | ( | const VectorExpression< T, E1 > & | a, |
const VectorExpression< T, E2 > & | b | ||
) |
Vector-vector addition operation.
◆ operator-() [4/43]
MatrixScalarMul< T, E > CubbyFlow::operator- | ( | const MatrixExpression< T, E > & | a | ) |
Returns a matrix with opposite sign.
◆ operator-() [5/43]
MatrixSub< T, E1, E2 > CubbyFlow::operator- | ( | const MatrixExpression< T, E1 > & | a, |
const MatrixExpression< T, E2 > & | b | ||
) |
Returns a - b (element-size).
◆ operator-() [6/43]
MatrixScalarSub< T, E > CubbyFlow::operator- | ( | const MatrixExpression< T, E > & | a, |
T | b | ||
) |
Returns a - b', where every element of matrix b' is b.
◆ operator-() [7/43]
MatrixScalarRSub< T, E > CubbyFlow::operator- | ( | T | a, |
const MatrixExpression< T, E > & | b | ||
) |
Returns a' - b, where every element of matrix a' is a.
◆ operator-() [8/43]
Negative sign operator.
◆ operator-() [9/43]
Negative sign operator.
◆ operator-() [10/43]
Computes (a.x, a.y) - (b, b).
◆ operator-() [11/43]
Computes (a, a) - (b.x, b.y).
◆ operator-() [12/43]
Point< T, 2 > CubbyFlow::operator- | ( | const Point< T, 2 > & | a, |
const Point< T, 2 > & | b | ||
) |
Computes (a.x, a.y) - (b.x, b.y).
◆ operator-() [13/43]
Computes (a.x, a.y, a.z) - (b, b, b).
◆ operator-() [14/43]
Computes (a, a, a) - (b.x, b.y, b.z).
◆ operator-() [15/43]
Point< T, 3 > CubbyFlow::operator- | ( | const Point< T, 3 > & | a, |
const Point< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) - (b.x, b.y, b.z).
◆ operator-() [16/43]
Negative sign operator.
◆ operator-() [17/43]
Negative sign operator.
◆ operator-() [18/43]
Computes (a.x, a.y) - (b, b).
◆ operator-() [19/43]
Negative sign operator.
◆ operator-() [20/43]
Computes (a, a) - (b.x, b.y).
◆ operator-() [21/43]
Vector< T, 2 > CubbyFlow::operator- | ( | const Vector< T, 2 > & | a, |
const Vector< T, 2 > & | b | ||
) |
Computes (a.x, a.y) - (b.x, b.y).
◆ operator-() [22/43]
Computes (a.x, a.y, a.z, a.w) - (b, b, b, b).
◆ operator-() [23/43]
Computes (a, a, a, a) - (b.x, b.y, b.z, b.w).
◆ operator-() [24/43]
Vector< T, 4 > CubbyFlow::operator- | ( | const Vector< T, 4 > & | a, |
const Vector< T, 4 > & | b | ||
) |
Computes (a.x, a.y, a.z, a.w) - (b.x, b.y, b.z, b.w).
◆ operator-() [25/43]
Computes (a.x, a.y, a.z) - (b, b, b).
◆ operator-() [26/43]
Computes (a, a, a) - (b.x, b.y, b.z).
◆ operator-() [27/43]
Vector< T, 3 > CubbyFlow::operator- | ( | const Vector< T, 3 > & | a, |
const Vector< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) - (b.x, b.y, b.z).
◆ operator-() [28/43]
Returns a matrix with opposite sign.
◆ operator-() [29/43]
Matrix< T, 2, 2 > CubbyFlow::operator- | ( | const Matrix< T, 2, 2 > & | a, |
const Matrix< T, 2, 2 > & | b | ||
) |
Returns a - b (element-size).
◆ operator-() [30/43]
Matrix< T, 2, 2 > CubbyFlow::operator- | ( | const Matrix< T, 2, 2 > & | a, |
const T | b | ||
) |
Returns a - b', where every element of matrix b' is b.
◆ operator-() [31/43]
Matrix< T, 2, 2 > CubbyFlow::operator- | ( | const T | a, |
const Matrix< T, 2, 2 > & | b | ||
) |
Returns a' - b, where every element of matrix a' is a.
◆ operator-() [32/43]
Returns a matrix with opposite sign.
◆ operator-() [33/43]
Matrix< T, 3, 3 > CubbyFlow::operator- | ( | const Matrix< T, 3, 3 > & | a, |
const Matrix< T, 3, 3 > & | b | ||
) |
Returns a - b (element-size).
◆ operator-() [34/43]
Matrix< T, 3, 3 > CubbyFlow::operator- | ( | const Matrix< T, 3, 3 > & | a, |
const T | b | ||
) |
Returns a - b', where every element of matrix b' is b.
◆ operator-() [35/43]
Matrix< T, 3, 3 > CubbyFlow::operator- | ( | const T | a, |
const Matrix< T, 3, 3 > & | b | ||
) |
Returns a' - b, where every element of matrix a' is a.
◆ operator-() [36/43]
Returns a matrix with opposite sign.
◆ operator-() [37/43]
Matrix< T, 4, 4 > CubbyFlow::operator- | ( | const Matrix< T, 4, 4 > & | a, |
const Matrix< T, 4, 4 > & | b | ||
) |
Returns a - b (element-size).
◆ operator-() [38/43]
Matrix< T, 4, 4 > CubbyFlow::operator- | ( | const Matrix< T, 4, 4 > & | a, |
const T | b | ||
) |
Returns a - b', where every element of matrix b' is b.
◆ operator-() [39/43]
Matrix< T, 4, 4 > CubbyFlow::operator- | ( | const T | a, |
const Matrix< T, 4, 4 > & | b | ||
) |
Returns a' - b, where every element of matrix a' is a.
◆ operator-() [40/43]
◆ operator-() [41/43]
MatrixCSR<T> CubbyFlow::operator- | ( | const MatrixCSR< T > & | a, |
const MatrixCSR< T > & | b | ||
) |
◆ operator-() [42/43]
◆ operator-() [43/43]
◆ operator/() [1/30]
VectorScalarRDiv< T, E > CubbyFlow::operator/ | ( | const T & | a, |
const VectorExpression< T, E > & | b | ||
) |
Scalar-vector division operation.
◆ operator/() [2/30]
VectorScalarDiv< T, E > CubbyFlow::operator/ | ( | const VectorExpression< T, E > & | a, |
const T & | b | ||
) |
Vector-scalar division operation.
◆ operator/() [3/30]
VectorDiv< T, E1, E2 > CubbyFlow::operator/ | ( | const VectorExpression< T, E1 > & | a, |
const VectorExpression< T, E2 > & | b | ||
) |
Element-wise vector-vector division operation.
◆ operator/() [4/30]
Returns a' / b, where every element of matrix a' is a.
◆ operator/() [5/30]
Returns a / b', where every element of matrix b' is b.
◆ operator/() [6/30]
MatrixScalarDiv< T, E > CubbyFlow::operator/ | ( | const MatrixExpression< T, E > & | a, |
T | b | ||
) |
Returns a' / b, where every element of matrix a' is a.
◆ operator/() [7/30]
MatrixScalarRDiv< T, E > CubbyFlow::operator/ | ( | T | a, |
const MatrixExpression< T, E > & | b | ||
) |
Returns a / b', where every element of matrix b' is b.
◆ operator/() [8/30]
Computes (a.x, a.y) / (b, b).
◆ operator/() [9/30]
Computes (a, a) / (b.x, b.y).
◆ operator/() [10/30]
Point< T, 2 > CubbyFlow::operator/ | ( | const Point< T, 2 > & | a, |
const Point< T, 2 > & | b | ||
) |
Computes (a.x, a.y) / (b.x, b.y).
◆ operator/() [11/30]
Computes (a.x, a.y, a.z) / (b, b, b).
◆ operator/() [12/30]
Computes (a, a, a) / (b.x, b.y, b.z).
◆ operator/() [13/30]
Point< T, 3 > CubbyFlow::operator/ | ( | const Point< T, 3 > & | a, |
const Point< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) / (b.x, b.y, b.z).
◆ operator/() [14/30]
Computes (a.x, a.y) / (b, b).
◆ operator/() [15/30]
Computes (a, a) / (b.x, b.y).
◆ operator/() [16/30]
Vector< T, 2 > CubbyFlow::operator/ | ( | const Vector< T, 2 > & | a, |
const Vector< T, 2 > & | b | ||
) |
Computes (a.x, a.y) / (b.x, b.y).
◆ operator/() [17/30]
Computes (a.x, a.y, a.z, a.w) / (b, b, b, b).
◆ operator/() [18/30]
Computes (a, a, a, a) / (b.x, b.y, b.z, b.w).
◆ operator/() [19/30]
Vector< T, 4 > CubbyFlow::operator/ | ( | const Vector< T, 4 > & | a, |
const Vector< T, 4 > & | b | ||
) |
Computes (a.x, a.y, a.z, a.w) / (b.x, b.y, b.z, b.w).
◆ operator/() [20/30]
Computes (a.x, a.y, a.z) / (b, b, b).
◆ operator/() [21/30]
Computes (a, a, a) / (b.x, b.y, b.z).
◆ operator/() [22/30]
Vector< T, 3 > CubbyFlow::operator/ | ( | const Vector< T, 3 > & | a, |
const Vector< T, 3 > & | b | ||
) |
Computes (a.x, a.y, a.z) / (b.x, b.y, b.z).
◆ operator/() [23/30]
◆ operator/() [24/30]
◆ operator/() [25/30]
Returns a' / b, where every element of matrix a' is a.
◆ operator/() [26/30]
Returns a / b', where every element of matrix b' is b.
◆ operator/() [27/30]
Returns a' / b, where every element of matrix a' is a.
◆ operator/() [28/30]
Matrix< T, 4, 4 > CubbyFlow::operator/ | ( | const T & | a, |
const Matrix< T, 4, 4 > & | b | ||
) |
Returns a / b', where every element of matrix b' is b.
◆ operator/() [29/30]
◆ operator/() [30/30]
◆ ParallelFill()
void CubbyFlow::ParallelFill | ( | const RandomIterator & | begin, |
const RandomIterator & | end, | ||
const T & | value, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Fills from begin
to end
with value
in parallel.
This function fills a container specified by begin and end iterators in parallel. The order of the filling is not guaranteed due to the nature of parallel execution.
- Parameters
-
[in] begin The begin iterator of a container. [in] end The end iterator of a container. [in] value The value to fill a container. [in] policy The execution policy (parallel or serial).
- Template Parameters
-
RandomIterator Random iterator type. T Value type of a container.
◆ ParallelFor() [1/3]
void CubbyFlow::ParallelFor | ( | IndexType | beginIndex, |
IndexType | endIndex, | ||
const Function & | function, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Makes a for-loop from beginIndex
to
endIndex in parallel.
This function makes a for-loop specified by begin and end indices in parallel. The order of the visit is not guaranteed due to the nature of parallel execution.
- Parameters
-
[in] beginIndex The begin index. [in] endIndex The end index. [in] function The function to call for each index. [in] policy The execution policy (parallel or serial).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ ParallelFor() [2/3]
void CubbyFlow::ParallelFor | ( | IndexType | beginIndexX, |
IndexType | endIndexX, | ||
IndexType | beginIndexY, | ||
IndexType | endIndexY, | ||
const Function & | function, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Makes a 2D nested for-loop in parallel.
This function makes a 2D nested for-loop specified by begin and end indices for each dimension. X will be the inner-most loop while Y is the outer-most. The order of the visit is not guaranteed due to the nature of parallel execution.
- Parameters
-
[in] beginIndexX The begin index in X dimension. [in] endIndexX The end index in X dimension. [in] beginIndexY The begin index in Y dimension. [in] endIndexY The end index in Y dimension. [in] function The function to call for each index (i, j). [in] policy The execution policy (parallel or serial).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ ParallelFor() [3/3]
void CubbyFlow::ParallelFor | ( | IndexType | beginIndexX, |
IndexType | endIndexX, | ||
IndexType | beginIndexY, | ||
IndexType | endIndexY, | ||
IndexType | beginIndexZ, | ||
IndexType | endIndexZ, | ||
const Function & | function, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Makes a 3D nested for-loop in parallel.
This function makes a 3D nested for-loop specified by begin and end indices for each dimension. X will be the inner-most loop while Z is the outer-most. The order of the visit is not guaranteed due to the nature of parallel execution.
- Parameters
-
[in] beginIndexX The begin index in X dimension. [in] endIndexX The end index in X dimension. [in] beginIndexY The begin index in Y dimension. [in] endIndexY The end index in Y dimension. [in] beginIndexZ The begin index in Z dimension. [in] endIndexZ The end index in Z dimension. [in] function The function to call for each index (i, j, k). [in] policy The execution policy (parallel or serial).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ ParallelRangeFor() [1/3]
void CubbyFlow::ParallelRangeFor | ( | IndexType | beginIndex, |
IndexType | endIndex, | ||
const Function & | function, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Makes a range-loop from beginIndex
to
endIndex in parallel.
This function makes a for-loop specified by begin and end indices in parallel. Unlike parallelFor function, the input function object takes range instead of single index. The order of the visit is not guaranteed due to the nature of parallel execution.
- Parameters
-
[in] beginIndex The begin index. [in] endIndex The end index. [in] function The function to call for each index range. [in] policy The execution policy (parallel or serial).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ ParallelRangeFor() [2/3]
void CubbyFlow::ParallelRangeFor | ( | IndexType | beginIndexX, |
IndexType | endIndexX, | ||
IndexType | beginIndexY, | ||
IndexType | endIndexY, | ||
const Function & | function, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Makes a 2D nested range-loop in parallel.
This function makes a 2D nested for-loop specified by begin and end indices for each dimension. X will be the inner-most loop while Y is the outer-most. Unlike parallelFor function, the input function object takes range instead of single index. The order of the visit is not guaranteed due to the nature of parallel execution.
- Parameters
-
[in] beginIndexX The begin index in X dimension. [in] endIndexX The end index in X dimension. [in] beginIndexY The begin index in Y dimension. [in] endIndexY The end index in Y dimension. [in] function The function to call for each index range. [in] policy The execution policy (parallel or serial).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ ParallelRangeFor() [3/3]
void CubbyFlow::ParallelRangeFor | ( | IndexType | beginIndexX, |
IndexType | endIndexX, | ||
IndexType | beginIndexY, | ||
IndexType | endIndexY, | ||
IndexType | beginIndexZ, | ||
IndexType | endIndexZ, | ||
const Function & | function, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Makes a 3D nested range-loop in parallel.
This function makes a 3D nested for-loop specified by begin and end indices for each dimension. X will be the inner-most loop while Z is the outer-most. Unlike parallelFor function, the input function object takes range instead of single index. The order of the visit is not guaranteed due to the nature of parallel execution.
- Parameters
-
[in] beginIndexX The begin index in X dimension. [in] endIndexX The end index in X dimension. [in] beginIndexY The begin index in Y dimension. [in] endIndexY The end index in Y dimension. [in] beginIndexZ The begin index in Z dimension. [in] endIndexZ The end index in Z dimension. [in] function The function to call for each index (i, j, k). [in] policy The execution policy (parallel or serial).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ ParallelReduce()
Value CubbyFlow::ParallelReduce | ( | IndexType | beginIndex, |
IndexType | endIndex, | ||
const Value & | identity, | ||
const Function & | function, | ||
const Reduce & | reduce, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Performs reduce operation in parallel.
This function reduces the series of values into a single value using the provided reduce function.
- Parameters
-
[in] beginIndex The begin index. [in] endIndex The end index. [in] identity Identity value for the reduce operation. [in] function The function for reducing subrange. [in] reduce The reduce operator. [in] policy The execution policy (parallel or serial).
- Template Parameters
-
IndexType Index type. Value Value type. Function Reduce function type.
◆ ParallelSort() [1/2]
void CubbyFlow::ParallelSort | ( | RandomIterator | begin, |
RandomIterator | end, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Sorts a container in parallel.
This function sorts a container specified by begin and end iterators.
- Parameters
-
[in] begin The begin random access iterator. [in] end The end random access iterator. [in] policy The execution policy (parallel or serial).
- Template Parameters
-
RandomIterator Iterator type.
◆ ParallelSort() [2/2]
void CubbyFlow::ParallelSort | ( | RandomIterator | begin, |
RandomIterator | end, | ||
CompareFunction | compare, | ||
ExecutionPolicy | policy = ExecutionPolicy::Parallel |
||
) |
Sorts a container in parallel with a custom compare function.
This function sorts a container specified by begin and end iterators. It takes extra compare function which returns true if the first argument is less than the second argument.
- Parameters
-
[in] begin The begin random access iterator. [in] end The end random access iterator. [in] compare The compare function. [in] policy The execution policy (parallel or serial).
- Template Parameters
-
RandomIterator Iterator type. CompareFunction Compare function type.
◆ ParseGridResizeParams() [1/2]
|
inline |
◆ ParseGridResizeParams() [2/2]
|
inline |
◆ PCG()
void CubbyFlow::PCG | ( | const typename BLASType::MatrixType & | A, |
const typename BLASType::VectorType & | b, | ||
unsigned int | maxNumberOfIterations, | ||
double | tolerance, | ||
PrecondType * | M, | ||
typename BLASType::VectorType * | x, | ||
typename BLASType::VectorType * | r, | ||
typename BLASType::VectorType * | d, | ||
typename BLASType::VectorType * | q, | ||
typename BLASType::VectorType * | s, | ||
unsigned int * | lastNumberOfIterations, | ||
double * | lastResidualNorm | ||
) |
Solves pre-conditioned conjugate gradient.
◆ PI()
constexpr T CubbyFlow::PI | ( | ) |
PI for type T.
◆ PI< double >()
constexpr double CubbyFlow::PI< double > | ( | ) |
Pi for double.
◆ PI< float >()
constexpr float CubbyFlow::PI< float > | ( | ) |
Pi for float.
◆ ProjectAndApplyFriction()
|
inline |
◆ QuarterPI()
constexpr T CubbyFlow::QuarterPI | ( | ) |
PI/4 for type T.
◆ QuarterPI< double >()
constexpr double CubbyFlow::QuarterPI< double > | ( | ) |
PI/4 for double.
◆ QuarterPI< float >()
constexpr float CubbyFlow::QuarterPI< float > | ( | ) |
PI/4 for float.
◆ RadiansToDegrees()
|
inline |
Converts radians to degrees.
- Parameters
-
[in] angleInRadians The angle in radians.
- Template Parameters
-
T Value type.
- Returns
- Angle in degrees.
◆ SerialFill()
void CubbyFlow::SerialFill | ( | const RandomIterator & | begin, |
const RandomIterator & | end, | ||
const T & | value | ||
) |
Fills from begin
to end
with value
.
This function fills a container specified by begin and end iterators with single thread. The order of the filling is deterministic.
- Parameters
-
[in] begin The begin iterator of a container. [in] end The end iterator of a container. [in] value The value to fill a container.
- Template Parameters
-
RandomIterator Random iterator type. T Value type of a container.
◆ SerialFor() [1/3]
void CubbyFlow::SerialFor | ( | IndexType | beginIndex, |
IndexType | endIndex, | ||
const Function & | function | ||
) |
Makes a for-loop from beginIndex
to
endIndex.
This function makes a for-loop specified by begin and end indices with single thread. The order of the visit is deterministic.
- Parameters
-
[in] beginIndex The begin index. [in] endIndex The end index. [in] function The function to call for each index.
- Template Parameters
-
IndexType Index type. Function Function type.
◆ SerialFor() [2/3]
void CubbyFlow::SerialFor | ( | IndexType | beginIndexX, |
IndexType | endIndexX, | ||
IndexType | beginIndexY, | ||
IndexType | endIndexY, | ||
const Function & | function | ||
) |
Makes a 2D nested for-loop.
This function makes a 2D nested for-loop specified by begin and end indices for each dimension. X will be the inner-most loop while Y is the outer-most. The order of the visit is deterministic.
- Parameters
-
[in] beginIndexX The begin index in X dimension. [in] endIndexX The end index in X dimension. [in] beginIndexY The begin index in Y dimension. [in] endIndexY The end index in Y dimension. [in] function The function to call for each index (i, j).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ SerialFor() [3/3]
void CubbyFlow::SerialFor | ( | IndexType | beginIndexX, |
IndexType | endIndexX, | ||
IndexType | beginIndexY, | ||
IndexType | endIndexY, | ||
IndexType | beginIndexZ, | ||
IndexType | endIndexZ, | ||
const Function & | function | ||
) |
Makes a 3D nested for-loop.
This function makes a 3D nested for-loop specified by begin and end indices for each dimension. X will be the inner-most loop while Z is the outer-most. The order of the visit is deterministic.
- Parameters
-
[in] beginIndexX The begin index in X dimension. [in] endIndexX The end index in X dimension. [in] beginIndexY The begin index in Y dimension. [in] endIndexY The end index in Y dimension. [in] beginIndexZ The begin index in Z dimension. [in] endIndexZ The end index in Z dimension. [in] function The function to call for each index (i, j, k).
- Template Parameters
-
IndexType Index type. Function Function type.
◆ Serialize() [1/3]
void CubbyFlow::Serialize | ( | const ConstArrayAccessor1< T > & | array, |
std::vector< uint8_t > * | buffer | ||
) |
Serializes data chunk using common schema.
◆ Serialize() [2/3]
void CubbyFlow::Serialize | ( | const Serializable * | serializable, |
std::vector< uint8_t > * | buffer | ||
) |
Serializes serializable object.
◆ Serialize() [3/3]
void CubbyFlow::Serialize | ( | const uint8_t * | data, |
size_t | size, | ||
std::vector< uint8_t > * | buffer | ||
) |
Serializes data chunk using common schema.
◆ SerializeGrid()
void CubbyFlow::SerializeGrid | ( | flatbuffers::FlatBufferBuilder * | builder, |
const std::vector< GridType > & | gridList, | ||
FbsFactoryFunc | func, | ||
std::vector< flatbuffers::Offset< FbsGridType >> * | fbsGridList | ||
) |
◆ SerialSort() [1/2]
void CubbyFlow::SerialSort | ( | RandomIterator | begin, |
RandomIterator | end | ||
) |
Sorts a container.
This function sorts a container specified by begin and end iterators.
- Parameters
-
[in] begin The begin random access iterator. [in] end The end random access iterator.
- Template Parameters
-
RandomIterator Iterator type.
◆ SerialSort() [2/2]
void CubbyFlow::SerialSort | ( | RandomIterator | begin, |
RandomIterator | end, | ||
const SortingFunction & | sortingFunction | ||
) |
Sorts a container with a custom compare function.
This function sorts a container specified by begin and end iterators. It takes extra compare function which returns true if the first argument is less than the second argument.
- Parameters
-
[in] begin The begin random access iterator. [in] end The end random access iterator. [in] sortingFunction The sorting function.
- Template Parameters
-
RandomIterator Iterator type. SortingFunction Sorting function type.
◆ SetMaxNumberOfThreads()
void CubbyFlow::SetMaxNumberOfThreads | ( | unsigned int | numThreads | ) |
Sets maximum number of threads to use.
◆ SetRange1() [1/2]
void CubbyFlow::SetRange1 | ( | size_t | size, |
const T & | value, | ||
ArrayType * | output | ||
) |
Assigns value
to 1-D array output
with size
.
This function assigns value
to 1-D array output
with size
. The output array must support random access operator [].
◆ SetRange1() [2/2]
void CubbyFlow::SetRange1 | ( | size_t | begin, |
size_t | end, | ||
const T & | value, | ||
ArrayType * | output | ||
) |
Assigns value
to 1-D array output
from begin
to end
.
This function assigns value
to 1-D array output
from begin
to end
. The output array must support random access operator [].
◆ Sign()
|
inline |
Returns the sign of the value.
- Parameters
-
[in] x Input value.
- Template Parameters
-
T Value type.
- Returns
- The sign.
◆ Similar()
|
inline |
Returns true if x
and y
are similar.
- Parameters
-
[in] x The first value. [in] y The second value. [in] eps The tolerance.
- Template Parameters
-
T Value type.
- Returns
- True if similar.
◆ Size2ToTuple()
|
inline |
◆ Size3ToTuple()
|
inline |
◆ Slerp()
Quaternion< T > CubbyFlow::Slerp | ( | const Quaternion< T > & | a, |
const Quaternion< T > & | b, | ||
T | t | ||
) |
Computes spherical linear interpolation.
◆ SmearedDeltaSDF()
|
inline |
Returns smeared delta function.
This function returns smeared (or smooth) delta function between 0 and 1. If phi
is less than -1.5, it will return 0. If phi
is greater than 1.5, it will also return 0. Between -1.5 and 1.5, the function will return smooth delta function. Integral of this function is smearedHeavisideSdf.
- Parameters
-
[in] phi The level set value.
- Template Parameters
-
T Value type.
- Returns
- Smeared delta function.
◆ SmearedHeavisideSDF()
|
inline |
Returns smeared Heaviside function.
This function returns smeared (or smooth) Heaviside (or step) function between 0 and 1. If phi
is less than -1.5, it will return 0. If phi
is greater than 1.5, it will return 1. Between -1.5 and 1.5, the function will return smooth profile between 0 and 1. Derivative of this function is smearedDeltaSdf.
- Parameters
-
[in] phi The level set value.
- Template Parameters
-
T Value type.
- Returns
- Smeared Heaviside function.
◆ Square()
|
inline |
Returns the square of x
.
- Parameters
-
[in] x The input.
- Template Parameters
-
T Value type.
- Returns
- The squared value.
◆ SVD() [1/2]
void CubbyFlow::SVD | ( | const MatrixMxN< T > & | a, |
MatrixMxN< T > & | u, | ||
VectorN< T > & | w, | ||
MatrixMxN< T > & | v | ||
) |
Singular value decomposition (SVD).
This function decompose the input matrix a
to u
* w
* v^T
.
- Template Parameters
-
T Real-value type.
- Parameters
-
a The input matrix to decompose. u Left-most output matrix. w The vector of singular values. v Right-most output matrix.
◆ SVD() [2/2]
void CubbyFlow::SVD | ( | const Matrix< T, M, N > & | a, |
Matrix< T, M, N > & | u, | ||
Vector< T, N > & | w, | ||
Matrix< T, N, N > & | v | ||
) |
Singular value decomposition (SVD).
This function decompose the input matrix a
to u
* w
* v^T
.
- Template Parameters
-
T Real-value type.
- Parameters
-
a The input matrix to decompose. u Left-most output matrix. w The vector of singular values. v Right-most output matrix.
◆ TriangleMeshToSDF()
void CubbyFlow::TriangleMeshToSDF | ( | const TriangleMesh3 & | mesh, |
ScalarGrid3 * | sdf, | ||
const unsigned int | exactBand = 1 |
||
) |
Generates signed-distance field out of given triangle mesh.
This function generates signed-distance field from a triangle mesh. The mesh should be water-tight, meaning there should be no gap. A gap can make the evaluation of the signs impossible. The output signed-distance field will be assigned to the scalar field, sdf
, which can be any type of scalar field (vertex-centered vs. cell-centered). To accelerate the calculation, this function also takes extra parameter, exactBand
, which defines the bandwidth around the mesh in a number of grid points. This bandwidth is the region where the exact distance to the mesh will be computed. Distance values of the areas that are farther from the mesh surface will be approximated using fast sweeping method. The sign of the signed-distance field is determined by assuming the bounding box of the output scalar grid is the exterior of the mesh.
This function is a port of Christopher Batty's SDFGen software.
- Parameters
-
[in] mesh The mesh. [in,out] sdf The output signed-distance field. [in] exactBand The bandwidth for exact distance computation.
◆ TriLerp()
|
inline |
Computes trilinear interpolation.
◆ TupleToPoint2UI() [1/2]
|
inline |
◆ TupleToPoint2UI() [2/2]
|
inline |
◆ TupleToPoint3UI() [1/2]
|
inline |
◆ TupleToPoint3UI() [2/2]
|
inline |
◆ TupleToQuaternion() [1/2]
|
inline |
◆ TupleToQuaternion() [2/2]
|
inline |
◆ TupleToQuaternionD() [1/2]
|
inline |
◆ TupleToQuaternionD() [2/2]
|
inline |
◆ TupleToQuaternionF() [1/2]
|
inline |
◆ TupleToQuaternionF() [2/2]
|
inline |
◆ TupleToSize2() [1/2]
|
inline |
◆ TupleToSize2() [2/2]
|
inline |
◆ TupleToSize3() [1/2]
|
inline |
◆ TupleToSize3() [2/2]
|
inline |
◆ TupleToVector() [1/2]
|
inline |
◆ TupleToVector() [2/2]
|
inline |
◆ TupleToVector2D() [1/2]
|
inline |
◆ TupleToVector2D() [2/2]
|
inline |
◆ TupleToVector2F() [1/2]
|
inline |
◆ TupleToVector2F() [2/2]
|
inline |
◆ TupleToVector3D() [1/2]
|
inline |
◆ TupleToVector3D() [2/2]
|
inline |
◆ TupleToVector3F() [1/2]
|
inline |
◆ TupleToVector3F() [2/2]
|
inline |
◆ TupleToVector4D() [1/2]
|
inline |
◆ TupleToVector4D() [2/2]
|
inline |
◆ TupleToVector4F() [1/2]
|
inline |
◆ TupleToVector4F() [2/2]
|
inline |
◆ UniformSampleCone()
|
inline |
Returns randomly sampled direction within a cone.
For a given cone, defined by axis and angle, this function returns a sampled direction vector within the cone.
- Parameters
-
[in] u1 First random sample. [in] u2 Second random sample. [in] axis The axis of the cone. [in] angle The angle of the cone.
- Template Parameters
-
T Real number type.
- Returns
- Sampled direction vector.
◆ UniformSampleDisk()
|
inline |
Returns randomly a point on a disk.
For a given disk, this function returns a point on the disk.
- Parameters
-
[in] u1 First random sample. [in] u2 Second random sample.
- Template Parameters
-
T Real number type.
- Returns
- Sampled point.
◆ UniformSampleHemisphere()
|
inline |
Returns randomly sampled point within a unit hemisphere.
For a given unit hemisphere, defined by center normal vector, this function returns a point within the hemisphere.
- Parameters
-
[in] u1 First random sample. [in] u2 Second random sample. [in] normal The center normal of the hemisphere.
- Template Parameters
-
T Real number type.
- Returns
- Sampled point.
◆ UniformSampleSphere()
|
inline |
Returns randomly a point on a sphere.
For a given sphere, defined by center normal vector, this function returns a point on the sphere.
- Parameters
-
[in] u1 First random sample. [in] u2 Second random sample.
- Template Parameters
-
T Real number type.
- Returns
- Sampled point.
◆ Upwind1() [1/2]
std::array< T, 2 > CubbyFlow::Upwind1 | ( | T * | d0, |
T | dx | ||
) |
1st order upwind differencing. d0[1] is the origin.
Returns two solutions for each side.
◆ Upwind1() [2/2]
T CubbyFlow::Upwind1 | ( | T * | d0, |
T | dx, | ||
bool | isDirectionPositive | ||
) |
1st order upwind differencing. d0[1] is the origin.
◆ Vector2ToTuple()
|
inline |
◆ Vector3ToTuple()
|
inline |
◆ Vector4ToTuple()
|
inline |
◆ WENO5() [1/2]
std::array< T, 2 > CubbyFlow::WENO5 | ( | T * | v, |
T | h, | ||
T | eps = 1.0e-8 |
||
) |
5th order WENO. d0[3] is the origin.
Returns two solutions for each side.
◆ WENO5() [2/2]
T CubbyFlow::WENO5 | ( | T * | v, |
T | h, | ||
bool | is_velocity_positive, | ||
T | eps = 1.0e-8 |
||
) |
5th order WENO. d0[3] is the origin.
◆ Zero()
constexpr T CubbyFlow::Zero | ( | ) |
Zero for type T.
◆ Zero< double >()
constexpr double CubbyFlow::Zero< double > | ( | ) |
Zero for double.
◆ Zero< float >()
constexpr float CubbyFlow::Zero< float > | ( | ) |
Zero for float.
◆ Zero< Vector3D >()
constexpr Vector3D CubbyFlow::Zero< Vector3D > | ( | ) |
Returns double-type zero vector.
◆ Zero< Vector3F >()
constexpr Vector3F CubbyFlow::Zero< Vector3F > | ( | ) |
Returns float-type zero vector.
◆ Zero< Vector4D >()
constexpr Vector4D CubbyFlow::Zero< Vector4D > | ( | ) |
Returns double-type zero vector.
◆ Zero< Vector4F >()
constexpr Vector4F CubbyFlow::Zero< Vector4F > | ( | ) |
Returns float-type zero vector.
◆ Zero< Vector< double, 2 > >()
constexpr Vector<double, 2> CubbyFlow::Zero< Vector< double, 2 > > | ( | ) |
Returns double-type zero vector.
◆ Zero< Vector< float, 2 > >()
constexpr Vector<float, 2> CubbyFlow::Zero< Vector< float, 2 > > | ( | ) |
Returns float-type zero vector.
Variable Documentation
◆ debugLogger
Logger CubbyFlow::debugLogger |
Debug-level logger.
◆ DIRECTION_ALL
constexpr int CubbyFlow::DIRECTION_ALL |
All direction.
◆ DIRECTION_BACK
constexpr int CubbyFlow::DIRECTION_BACK = 1 << 4 |
Back direction.
◆ DIRECTION_DOWN
constexpr int CubbyFlow::DIRECTION_DOWN = 1 << 2 |
Down direction.
◆ DIRECTION_FRONT
constexpr int CubbyFlow::DIRECTION_FRONT = 1 << 5 |
Front direction.
◆ DIRECTION_LEFT
constexpr int CubbyFlow::DIRECTION_LEFT = 1 << 0 |
Left direction.
◆ DIRECTION_NONE
constexpr int CubbyFlow::DIRECTION_NONE = 0 |
No direction.
◆ DIRECTION_RIGHT
constexpr int CubbyFlow::DIRECTION_RIGHT = 1 << 1 |
RIght direction.
◆ DIRECTION_UP
constexpr int CubbyFlow::DIRECTION_UP = 1 << 3 |
Up direction.
◆ errorLogger
Logger CubbyFlow::errorLogger |
Error-level logger.
◆ GRAVITY
constexpr double CubbyFlow::GRAVITY = -9.8 |
Gravity.
◆ HALF_PI_DOUBLE
constexpr double CubbyFlow::HALF_PI_DOUBLE = 1.57079632679489661923132169163975144 |
Double-type PI/2.
◆ HALF_PI_FLOAT
constexpr float CubbyFlow::HALF_PI_FLOAT = 1.57079632679489661923132169163975144f |
Float-type PI/2.
◆ infoLogger
Logger CubbyFlow::infoLogger |
Info-level logger.
◆ ONE_SIZE
constexpr size_t CubbyFlow::ONE_SIZE = 1 |
One size_t.
◆ ONE_SSIZE
constexpr ssize_t CubbyFlow::ONE_SSIZE = 1 |
One ssize_t.
◆ PI_DOUBLE
constexpr double CubbyFlow::PI_DOUBLE = 3.14159265358979323846264338327950288 |
Double-type PI.
◆ PI_FLOAT
constexpr float CubbyFlow::PI_FLOAT = 3.14159265358979323846264338327950288f |
Float-type PI.
◆ QUARTER_PI_DOUBLE
constexpr double CubbyFlow::QUARTER_PI_DOUBLE = 0.785398163397448309615660845819875721 |
Double-type PI/4.
◆ QUARTER_PI_FLOAT
constexpr float CubbyFlow::QUARTER_PI_FLOAT = 0.785398163397448309615660845819875721f |
Float-type PI/4.
◆ SPEED_OF_SOUND_IN_WATER
constexpr double CubbyFlow::SPEED_OF_SOUND_IN_WATER = 1482.0 |
Speed of sound in water at 20 degrees Celsius.
◆ warnLogger
Logger CubbyFlow::warnLogger |
Warn-level logger.
◆ WATER_DENSITY
constexpr double CubbyFlow::WATER_DENSITY = 1000.0 |
Water density.
◆ ZERO_SIZE
constexpr size_t CubbyFlow::ZERO_SIZE = 0 |
Zero size_t.
◆ ZERO_SSIZE
constexpr ssize_t CubbyFlow::ZERO_SSIZE = 0 |
Zero ssize_t.