//-------------------------------------------------------------------------------------------------- public static HalfSpace Mul(Transform tx, Vec3 scale, HalfSpace p) { Vec3 origin = p.Origin(); origin = Mul(tx, scale, origin); Vec3 normal = Mul(tx.rotation, p.normal); return(new HalfSpace(normal, Vec3.Dot(origin, normal))); }
//-------------------------------------------------------------------------------------------------- public static HalfSpace MulT(Transform tx, HalfSpace p) { Vec3 origin = p.normal * p.distance; origin = MulT(tx, origin); Vec3 n = MulT(tx.rotation, p.normal); return(new HalfSpace(n, Vec3.Dot(origin, n))); }