|
| template<class Real > |
| PECLET_HD Vec3< Real > | peclet::core::geom::minImage (Vec3< Real > d, const PeriodicBox< Real > &b) |
| | Min-image a displacement.
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::sphereDist2 (const SphereUnionView< Real > &u, int i, Vec3< Real > p, const PeriodicBox< Real > &box) |
| | Squared min-image distance from p to sphere i — THE per-sphere expression, shared by every path (brute, subset, batched, host, device) so drift between them is impossible.
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::evalSphereUnionSubset (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box, const int *items, int count) |
| | Union SDF over an index subset (a candidate list).
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::evalSphereUnion (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box) |
| | Brute-force union SDF (all spheres) — the reference the candidate path must match bit-for-bit, and the fallback for out-of-coverage queries.
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::evalSphereUnionGrid (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box, const CandidateGridView< Real > &g) |
| | Union SDF through the candidate grid: bin lookup + short list, full-scan fallback when the bin is out of coverage or its list is empty.
|
| |
| template<class Real > |
| CandidateGrid< Real > | peclet::core::geom::buildSphereCandidateGrid (const SphereUnionView< Real > &u, Vec3< Real > origin, Vec3< Real > extent, const PeriodicBox< Real > &box, int nbHint=0) |
| | Geometry-driven candidate build for a sphere union over [origin, origin+extent).
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::evalInstancePeriodic (const SceneView< Real > &sc, int i, Vec3< Real > p, const PeriodicBox< Real > &box, Real boundR=Real(-1)) |
| | Instance evaluation with MIN-IMAGE periodicity.
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::evalScenePeriodic (const SceneView< Real > &sc, Vec3< Real > p, const PeriodicBox< Real > &box, const Real *boundR=nullptr) |
| | Union over every instance, min-image periodic.
|
| |
| template<class Real > |
| NodeBound< Real > | peclet::core::geom::query_detail::nodeBound (const SceneView< Real > &sc, int node) |
| |
| template<class Real > |
| InstanceBound< Real > | peclet::core::geom::instanceBound (const SceneView< Real > &sc, int i) |
| | World bounding sphere + certificate of one instance (host-side; used by candidate builds).
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::evalSceneGrid (const SceneView< Real > &sc, Vec3< Real > p, const PeriodicBox< Real > &box, const CandidateGridView< Real > &g, const Real *boundR=nullptr) |
| | Union over a candidate list + the always-list, min-image periodic.
|
| |
| template<class Real > |
| CandidateGrid< Real > | peclet::core::geom::buildSceneCandidateGrid (const SceneView< Real > &sc, Vec3< Real > origin, Vec3< Real > extent, const PeriodicBox< Real > &box, Real binSizeHint=0) |
| | Candidate grid for a GENERAL scene: certified instances splat Lipschitz bounds evaluated at bin centers within their inflated bounding-sphere band (the generateSdfKokkos pattern); non-certified instances go on the always-list.
|
| |
| template<class Real > |
| PECLET_HD void | peclet::core::geom::owner_detail::take (Real v, int i, Real &best, int &bestI) |
| | The single tie-break rule (lowest index wins an exact tie), shared by every owner path.
|
| |
| template<class Real > |
| PECLET_HD void | peclet::core::geom::sphereUnionOwnerSubset (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box, const int *items, int count, Real &best, int &bestI) |
| | Accumulate the argmin over an explicit index subset (a candidate list) into (best, bestI).
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::sphereUnionEvalOwner (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box, int &own) |
| | Brute-force value + owner (all spheres) — the reference the candidate path must match, and the out-of-coverage fallback.
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::sphereUnionEvalOwnerGrid (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box, const CandidateGridView< Real > &g, int &own) |
| | Value + owner through the candidate grid.
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::sceneEvalOwnerPeriodic (const SceneView< Real > &sc, Vec3< Real > p, const PeriodicBox< Real > &box, int &own, const Real *boundR=nullptr) |
| | Value + owner over every instance of a general scene, min-image periodic.
|
| |
| template<class Real > |
| PECLET_HD Real | peclet::core::geom::sceneEvalOwnerGrid (const SceneView< Real > &sc, Vec3< Real > p, const PeriodicBox< Real > &box, const CandidateGridView< Real > &g, int &own, const Real *boundR=nullptr) |
| | Value + owner through a general-scene candidate grid: always-list ∪ candidate list, with the same empty-list / out-of-coverage full-scan fallback evalSceneGrid uses (an owner that disagreed with the value would attribute a wall velocity to a body that is not the nearest).
|
| |
| template<class Real > |
| PECLET_HD int | peclet::core::geom::sphereUnionOwner (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box) |
| | Owner-only wrappers (the value is discarded by the compiler on every backend).
|
| |
| template<class Real > |
| PECLET_HD int | peclet::core::geom::sphereUnionOwnerGrid (const SphereUnionView< Real > &u, Vec3< Real > p, const PeriodicBox< Real > &box, const CandidateGridView< Real > &g) |
| |
| template<class Real > |
| PECLET_HD int | peclet::core::geom::sceneOwnerPeriodic (const SceneView< Real > &sc, Vec3< Real > p, const PeriodicBox< Real > &box, const Real *boundR=nullptr) |
| |
| template<class Real > |
| PECLET_HD int | peclet::core::geom::sceneOwnerGrid (const SceneView< Real > &sc, Vec3< Real > p, const PeriodicBox< Real > &box, const CandidateGridView< Real > &g, const Real *boundR=nullptr) |
| |
| template<class Real > |
| PECLET_HD Vec3< Real > | peclet::core::geom::instanceVelocity (const InstanceMotionView< Real > &m, int i, Vec3< Real > p, const PeriodicBox< Real > &box) |
| | Velocity of the material point of instance i currently at world point p: v = lin_i + ang_i x (p - c_i)
|
| |
| template<class Real > |
| PECLET_HD Vec3< Real > | peclet::core::geom::wallPoint (Vec3< Real > p, Real sdf, Vec3< Real > grad) |
| | Project a probe onto the zero level set along the local gradient: w = p - sdf(p) * n_hat.
|
| |
| template<class Real > |
| bool | peclet::core::geom::motionIsStatic (const InstanceMotionView< Real > &m) |
| | True when no instance carries motion – the predicate a consumer uses to keep the static path bit-identical rather than "moving with zero velocity".
|
| |
| template<class Real > |
| bool | peclet::core::geom::extractSphereUnion (const SceneView< Real > &sc, std::vector< Real > &cx, std::vector< Real > &cy, std::vector< Real > &cz, std::vector< Real > &r) |
| | Try to view a scene as a PLAIN sphere union: every instance a single kSphere leaf with a bitwise-identity node transform and a translation-only, scale-1, identity-rotation instance transform.
|
| |