# IRaytracablePrimitive Struct Reference
[External Interfaces]

Inheritance diagram for IRaytracablePrimitive:

List of all members.

## Public Member Functions
virtual boolean MCCOMAPI | RayHit (RayHitParameters &params)=0
virtual MCCOMErr MCCOMAPI | IsInfiniteBB (boolean &isInfinite)=0

## Detailed Description

In addition to describing geometry a geometric primitive can define a custom ray-tracing routine rather than relying only on facets or patches. This is done by inheriting from IRaytracablePrimitive in addition to I3DExGeometricPrimitive (or TBasicPrimitive).

## Member Function Documentation

virtual MCCOMErr MCCOMAPI IRaytracablePrimitive::IsInfiniteBB | ( | boolean & | isInfinite | ) | `[pure virtual]`

Sets a boolean to true if the object is infinite.

Parameters:

  | isInfinite | True on exit if the bounding box is infinite.

virtual boolean MCCOMAPI IRaytracablePrimitive::RayHit | ( | RayHitParameters & | params | ) | `[pure virtual]`

Perform specific ray-tracing calculations instead of relying on the facets or patches. For example, a sphere can provide its intersection routine so the ray-tracing renders perfect spheres.

Parameters:

  | params | The parameters (ray, hit ...)

Returns:
  True if there is a valid intersection, false otherwise

The documentation for this struct was generated from the following file:

- I3dExPrimitive.h