RayHit3D Struct Reference
[Data Structures]

Inheritance diagram for RayHit3D:
ShadingIn TMCObject

List of all members.

Public Member Functions

 RayHit3D (MicroTick inTime=kInvalidTime)
void Reset ()
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
MicroTick fTime
 local time in microticks of the object hit, in most case should not be modified
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)
FacetMeshfFacetMesh
 pointer to the facet mesh
TVector3 fEdgeSize
 A vector representing the longest edge of the face in local coordinates.
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
TCalcInfoParamsfCalcInfoParam
 a structure the primitive can initialize in rayHit and use in calcinfo
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 ( MicroTick  inTime = kInvalidTime  )  [inline]

Member Function Documentation

void RayHit3D::CalcInfo ( ShadingFlags shadingFlags,
boolean  calcDerivatives,
const Ray3D ray 
)
void RayHit3D::Reset (  )  [inline]

Member Data Documentation

barycentric coordinates of hit point on hot facet

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

a structure the primitive can initialize in rayHit and use in calcinfo

A vector representing the longest edge of the face in local coordinates.

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

private data of the raytracer ( used in fCalcInfo )

pointer to the facet mesh

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

derivative of the normal depending on the position in local coordinates

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

direction of reflection of the ray

true if fIsoU and fIsoV should be set

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

true if fUV should be set

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

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

local time in microticks of the object hit, in most case should not be modified

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 Apr 26 22:47:53 2010 for Carrara SDK Doc by  doxygen 1.6.3