(intersect-aabb-aabb? {pa :p sa :size} {pb :p sb :size})
(intersect-aabb-aabb? pa pb qa qb)
(intersect-aabb-frustum? [px py pz :as p] size planes)
Takes 2 vectors defining an AABB (min-p & size) and a seq of plane parameters (each element [normal w]). The plane normals must be pointing inwards. Returns :inside, :intersect or :outside
Takes 2 vectors defining an AABB (min-p & size) and a seq of plane parameters (each element [normal w]). The plane normals must be pointing *inwards*. Returns :inside, :intersect or :outside
(intersect-aabb-sphere? {p :p sz :size} {s :p r :r})
(intersect-aabb-sphere? [px py pz] [qx qy qz] [cx cy cz] r)
(intersect-circle-circle? {p :p r1 :r} {q :p r2 :r})
(intersect-circle-circle? p r1 q r2)
(intersect-line2-edges? rp rq edges)
(intersect-line2-line2? [px1 py1 :as p]
[qx1 qy1 :as q]
[px2 py2 :as lp]
[qx2 qy2 :as lq])
(intersect-plane-aabb? [px py pz] [nx ny nz :as n] [sx sy sz])
(intersect-plane-aabb? p n q s)
Takes a point & normal defining a plane and 2 vectors defining an AABB (min-p & size). Returns true if plane intersects box.
Takes a point & normal defining a plane and 2 vectors defining an AABB (min-p & size). Returns true if plane intersects box.
(intersect-plane-plane? an aw bn bw)
(intersect-plane-sphere? n w p r)
(intersect-ray-plane? rp dir n w)
(intersect-ray-sphere? {rp :p dir :dir} {p :p r :r})
(intersect-ray-sphere? rp dir p r)
(intersect-ray-triangle3? p d a b c)
(intersect-ray2-edges? rp rd edges)
(intersect-rect-circle? {p :p sz :size} {s :p r :r})
(intersect-rect-circle? [px py] [qx qy] [cx cy] r)
(intersect-rect-rect? {[px py] :p [w h] :size} {[qx qy] :p [qw qh] :size})
(intersect-rect-rect? [px1 py1] [qx1 qy1] [px2 py2] [qx2 qy2])
(intersect-sphere-sphere? {p1 :p r1 :r} {p2 :p r2 :r})
(intersect-sphere-sphere? p1 r1 p2 r2)
(intersect-tetrahedra? [pa pb pc pd :as p] [qa qb qc qd :as q])
Takes 2 seqs of 4 3D points, each defining a tetrahedron. Returns true if they intersect. Orientation of points is irrelevant (unlike in the original algorithm this implementation is based on).
Takes 2 seqs of 4 3D points, each defining a tetrahedron. Returns true if they intersect. Orientation of points is irrelevant (unlike in the original algorithm this implementation is based on).
(intersect-triangle3-aabb? a b c p s)
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close