hdrc3DHelpers

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

hdrc3DHelpers

Return to chapter overview

C++ C++ Java Java .NET .NET

Summary

 

hdrc3DHelpers (com.fovia.hdrc.utils.hdrc3DHelpers) is a Java utility package with various 3D mathematical functions

 

Methods

 

getPlaneEquation

 

static PLANEEQF com.fovia.hdrc.utils.hdrc3DHelpers.getPlaneEquation ( MATRIX44D  transform)
static

Returns the plane equation for a given projection plane position.

Parameters
transform
Returns

References com.fovia.hdrcsrv.PLANEEQF.b, and com.fovia.hdrcsrv.PLANEEQF.d.

static PLANEEQF com.fovia.hdrc.utils.hdrc3DHelpers.getPlaneEquation ( VECTOR3D  pt1,
VECTOR3D  pt2,
VECTOR3D  pt3 
)
static

Given three points in 3D space, this will return the plane equation for the plane they all lie upon.

Parameters
pt1
pt2
pt3
Returns

References com.fovia.hdrcsrv.VECTOR3D.x, com.fovia.hdrcsrv.VECTOR3D.y, and com.fovia.hdrcsrv.VECTOR3D.z.

Referenced by com.fovia.hdrc.utils.hdrc3DHelpers.getVolumeBoxPlanes().

 

getLineOfIntersection

 

static VECTOR3D [] com.fovia.hdrc.utils.hdrc3DHelpers.getLineOfIntersection ( PLANEEQF  p1,
PLANEEQF  p2 
)
static

Adapted from a web site by Paul Bourke http://local.wasp.uwa.edu.au/~pbourke/geometry/planeplane/

Do note that this is a relatively expensive operation. It should not be done thousands of times per frame.

Parameters
p1PLANEEQF
p2PLANEEQF
Returns
VECTOR3D[]

References com.fovia.hdrcsrv.PLANEEQF.a, com.fovia.hdrcsrv.PLANEEQF.b, com.fovia.hdrcsrv.PLANEEQF.c, com.fovia.hdrcsrv.PLANEEQF.d, com.fovia.hdrcsrv.VECTOR3D.scale(), com.fovia.hdrcsrv.VECTOR3D.x, com.fovia.hdrcsrv.VECTOR3D.y, and com.fovia.hdrcsrv.VECTOR3D.z.

 

getPointOfIntersection

 

missing from Doxygen

 

volume2ProjectionPlane

 

static VECTOR3D [] com.fovia.hdrc.utils.hdrc3DHelpers.clipLineToRectangle ( VECTOR3D  line[],
VECTOR3D  rect[] 
)
static

While it takes inand returns 3D vectors, this is a purely 2D function. Only X and Y are considered in calculations. null is returned if the line does not intersect with the rectangle. Note that this function will only work with axis-aligned rectangles. If you're rect isn't axis aligned, either write a new function or make it axis aligned via rotation.

Parameters
lineTwo points on the line in question.
rectTwo points that define a rectangle. The ordering of the points should be top-left then bottom-right.
Returns
VECTOR3D[]

 

clipLineToRectangle

 

static VECTOR3D [] com.fovia.hdrc.utils.hdrc3DHelpers.getLineOfIntersection ( PLANEEQF  p1,
PLANEEQF  p2 
)
static

Adapted from a web site by Paul Bourke http://local.wasp.uwa.edu.au/~pbourke/geometry/planeplane/

Do note that this is a relatively expensive operation. It should not be done thousands of times per frame.

Parameters
p1PLANEEQF
p2PLANEEQF
Returns
VECTOR3D[]

References com.fovia.hdrcsrv.PLANEEQF.a, com.fovia.hdrcsrv.PLANEEQF.b, com.fovia.hdrcsrv.PLANEEQF.c, com.fovia.hdrcsrv.PLANEEQF.d, com.fovia.hdrcsrv.VECTOR3D.scale(), com.fovia.hdrcsrv.VECTOR3D.x, com.fovia.hdrcsrv.VECTOR3D.y, and com.fovia.hdrcsrv.VECTOR3D.z.

 

renderImageLoc2VolumeCoordinates

 

missing from Doxygen

 

Doxygen Links

 

Complete details of member variables and class names are available in the source level documentation available from these links to Doxygen.

 

C++

N/A

Java / .NET

hdrc3DHelpers