RayHit3D Struct Reference
[Data Structures]

Inheritance diagram for RayHit3D:

ShadingIn List of all members.

Public Member Functions

 RayHit3D ()
void CalcInfo (ShadingFlags &shadingFlags, boolean calcDerivatives, const Ray3D &ray)

Public Attributes

real64 ft
 t parameter along the ray: fPosition = RayOrigin + t * RayDirection
TVector3 fReflectDir
 direction of reflection of the ray
TTransform3D fT
TTransform3D fInvT
TMatrix33 fNormalDerivative
 derivative of the normal depending on the position in local coordinates
TVector3 fUVDerivative [2]
 derivative of the UV depending on the position in local coordinates
FacetInfo * fFacetInfo
 private data of the raytracer ( used in fCalcInfo )
real fBaryCoord [3]
 barycentric coordinates of hit point on hot facet
int32 fFacetIndex
 facet hit (index in facetMesh with best Level Of Detail)
FacetMesh * fFacetMesh
 pointer to the facet mesh
int32 fInstanceIndex
 index of the instance in the instance grid list (used to identify instance to avoid self shadowing effects)
int32 fSubInstanceIndex
 index used in the by some some raytracable primitives to identify a sub instance (example: a leaf in a tree)
void(* fCalcInfo )(RayHit3D &me)
 function called by the renderer to finish filling this structure after a hit
boolean fShouldSetUV
 true if fUV should be set
boolean fShouldSetIsoUV
 true if fIsoU and fIsoV should be set
boolean fShouldSetNormalDerivative
 true if fNormalDerivate should be set ( we only need it for reflection and transparency...)
boolean fNormalFlipped
 true if the normal has been flipped to face the incoming ray

Detailed Description

Stores the information about the intersection of a ray and an object


Constructor & Destructor Documentation

RayHit3D::RayHit3D (   )  [inline]
 


Member Function Documentation

void RayHit3D::CalcInfo (  ShadingFlags &  shadingFlags,
boolean  calcDerivatives,
const Ray3D &  ray
) 
 


Member Data Documentation

real RayHit3D::fBaryCoord[3]
 

barycentric coordinates of hit point on hot facet

void(* RayHit3D::fCalcInfo)(RayHit3D &me)
 

function called by the renderer to finish filling this structure after a hit

int32 RayHit3D::fFacetIndex
 

facet hit (index in facetMesh with best Level Of Detail)

FacetInfo* RayHit3D::fFacetInfo
 

private data of the raytracer ( used in fCalcInfo )

FacetMesh* RayHit3D::fFacetMesh
 

pointer to the facet mesh

int32 RayHit3D::fInstanceIndex
 

index of the instance in the instance grid list (used to identify instance to avoid self shadowing effects)

TTransform3D RayHit3D::fInvT
 

TMatrix33 RayHit3D::fNormalDerivative
 

derivative of the normal depending on the position in local coordinates

boolean RayHit3D::fNormalFlipped
 

true if the normal has been flipped to face the incoming ray

TVector3 RayHit3D::fReflectDir
 

direction of reflection of the ray

boolean RayHit3D::fShouldSetIsoUV
 

true if fIsoU and fIsoV should be set

boolean RayHit3D::fShouldSetNormalDerivative
 

true if fNormalDerivate should be set ( we only need it for reflection and transparency...)

boolean RayHit3D::fShouldSetUV
 

true if fUV should be set

int32 RayHit3D::fSubInstanceIndex
 

index used in the by some some raytracable primitives to identify a sub instance (example: a leaf in a tree)

TTransform3D RayHit3D::fT
 

real64 RayHit3D::ft
 

t parameter along the ray: fPosition = RayOrigin + t * RayDirection

TVector3 RayHit3D::fUVDerivative[2]
 

derivative of the UV depending on the position in local coordinates


The documentation for this struct was generated from the following file:
Generated on Mon Mar 14 12:29:06 2005 for Carrara SDK Doc by  doxygen 1.3.9.1