Skip to content

Commit 3bfb565

Browse files
committed
added xfmBox to match xfmVector and xfmPoint etc
1 parent dd2b92a commit 3bfb565

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

cuBQL/math/affine.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,25 @@ namespace cuBQL {
181181
const typename AffineSpaceT<L>::vector_t& n)
182182
{ return xfmNormal(m.l,n); }
183183

184+
template<typename T>
185+
box_t<T,3> xfmBox(const AffineSpaceT<LinearSpace3<vec_t<T,3>>> &xfm,
186+
const box_t<T,3> &box)
187+
{
188+
box_t<T,3> out;
189+
if (in.empty()) return out;
190+
auto l = in.lower;
191+
auto u = in.upper;
192+
out.extend(xfmPoint(xfm,vec_t<T,3>(l.x,l.y,l.z)));
193+
out.extend(xfmPoint(xfm,vec_t<T,3>(l.x,l.y,u.z)));
194+
out.extend(xfmPoint(xfm,vec_t<T,3>(l.x,u.y,l.z)));
195+
out.extend(xfmPoint(xfm,vec_t<T,3>(l.x,u.y,u.z)));
196+
out.extend(xfmPoint(xfm,vec_t<T,3>(u.x,l.y,l.z)));
197+
out.extend(xfmPoint(xfm,vec_t<T,3>(u.x,l.y,u.z)));
198+
out.extend(xfmPoint(xfm,vec_t<T,3>(u.x,u.y,l.z)));
199+
out.extend(xfmPoint(xfm,vec_t<T,3>(u.x,u.y,u.z)));
200+
return out;
201+
}
202+
184203

185204
////////////////////////////////////////////////////////////////////////////////
186205
/// Comparison Operators

0 commit comments

Comments
 (0)