Liking cljdoc? Tell your friends :D

thi.ng.geom.core.intersect


intersect-aabb-aabb?clj/s

(intersect-aabb-aabb? {pa :p sa :size} {pb :p sb :size})
(intersect-aabb-aabb? pa pb qa qb)

intersect-aabb-frustum?clj/s

(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
raw docstring

intersect-aabb-sphere?clj/s

(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?clj/s

(intersect-circle-circle? {p :p r1 :r} {q :p r2 :r})
(intersect-circle-circle? p r1 q r2)

intersect-line2-edges?clj/s

(intersect-line2-edges? rp rq edges)

intersect-line2-line2?clj/s

(intersect-line2-line2? [px1 py1 :as p]
                        [qx1 qy1 :as q]
                        [px2 py2 :as lp]
                        [qx2 qy2 :as lq])

intersect-plane-aabb?clj/s

(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.
raw docstring

intersect-plane-plane?clj/s

(intersect-plane-plane? an aw bn bw)

intersect-plane-sphere?clj/s

(intersect-plane-sphere? n w p r)

intersect-ray-plane?clj/s

(intersect-ray-plane? rp dir n w)

intersect-ray-sphere?clj/s

(intersect-ray-sphere? {rp :p dir :dir} {p :p r :r})
(intersect-ray-sphere? rp dir p r)

intersect-ray-triangle3?clj/s

(intersect-ray-triangle3? p d a b c)

intersect-ray2-edges?clj/s

(intersect-ray2-edges? rp rd edges)

intersect-rect-circle?clj/s

(intersect-rect-circle? {p :p sz :size} {s :p r :r})
(intersect-rect-circle? [px py] [qx qy] [cx cy] r)

intersect-rect-rect?clj/s

(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?clj/s

(intersect-sphere-sphere? {p1 :p r1 :r} {p2 :p r2 :r})
(intersect-sphere-sphere? p1 r1 p2 r2)

intersect-tetrahedra?clj/s

(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).
raw docstring

intersect-triangle3-aabb?clj/s

(intersect-triangle3-aabb? a b c p s)

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close