# RayHit3D Struct Reference
[Data Structures]

Inheritance diagram for RayHit3D:

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)
FacetMesh * | fFacetMesh
| 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
TCalcInfoParams * | fCalcInfoParam
| 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

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

TCalcInfoParams* RayHit3D::fCalcInfoParam

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

TVector3 RayHit3D::fEdgeSize

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

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

MicroTick RayHit3D::fTime

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

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:

- RenderTypes.h