コード例 #1
0
ファイル: model.cpp プロジェクト: ComputeLinux/residualvm
bool BoneNode::intersectRay(const Math::Ray &ray) const {
	Math::Ray localRay = ray;
	localRay.translate(-_animPos);
	localRay.rotate(_animRot.inverse());

	return localRay.intersectAABB(_boundingBox);
}
コード例 #2
0
ファイル: prop.cpp プロジェクト: ComputeLinux/residualvm
bool VisualProp::intersectRay(const Math::Ray &ray, const Math::Vector3d position, float direction) {
	Math::Matrix4 inverseModelMatrix = getModelMatrix(position, direction);
	inverseModelMatrix.inverse();

	// Build an object local ray from the world ray
	Math::Ray localRay = ray;
	localRay.transform(inverseModelMatrix);

	return localRay.intersectAABB(_boundingBox);
}