Esempio n. 1
0
void CoordinateFrame::vectorToWorldSpace(const Array<Vector3>& v, Array<Vector3>& vout) const {
    vout.resize(v.size());

    for (int i = v.size() - 1; i >= 0; --i) {
        vout[i] = vectorToWorldSpace(v[i]);
    }
}
Esempio n. 2
0
Ray CoordinateFrame::toWorldSpace(const Ray& r) const 
{
	Ray ray;
	ray.setOrigin(pointToWorldSpace(r.getOrigin()));
	ray.setDirection(vectorToWorldSpace(r.getDirection()));
	return ray;
}
Esempio n. 3
0
Box CoordinateFrame::toWorldSpace(const Box& b) const {
    if(!b.isFinite()) {
        return b;
    }
    Box out(b);
    out._center = pointToWorldSpace(b._center);
    for (int i = 0; i < 3; ++i) {
        out._edgeVector[i] = vectorToWorldSpace(out._edgeVector[i]);
    }

    out._area   = b._area;
    out._volume = b._volume;

    return out;
}
Esempio n. 4
0
Box CoordinateFrame::toWorldSpace(const Box& b) const {
    Box out(b);

    for (int i = 0; i < 8; ++i) {
        out._corner[i] = pointToWorldSpace(b._corner[i]);
        debugAssert(! isNaN(out._corner[i].x));
    }

    for (int i = 0; i < 3; ++i) {
        out._axis[i] = vectorToWorldSpace(b._axis[i]);
    }

    out._center = pointToWorldSpace(b._center);

    return out;
}
Esempio n. 5
0
Ray CoordinateFrame::toWorldSpace(const Ray& r) const {
    return Ray::fromOriginAndDirection(pointToWorldSpace(r.origin()), vectorToWorldSpace(r.direction()));
}