#include <c4d_shader.h>
类
RayHitID
replaces the old
Int32
value that stored information of an object/polygon.
It conveniently allows to set objects with a polygon index, or read this information.
SetSecond()
/
GetSecond()
determine for a non-coplanar quadrangle which part of the quadrangle was stored (A-B-C or A-C-D). In case of a coplanar quadrangle "second" is not set.
if (lhit==0)
write
if (lhit.IsPopulated())
lhit=0
write
lhit.Clear()
公共成员函数 |
|
| RayHitID () | |
| RayHitID ( _DONTCONSTRUCT DC ) | |
| RayHitID (const RayHitID &other) | |
| RayHitID (const RayObject *t_rayobject, Int32 t_polygon, Bool second) | |
| Bool | IsEqual (const RayHitID &snd) const |
| Bool | IsPopulated () const |
| void | 清零 () |
| void | Set (const RayObject *t_rayobject, Int32 t_polygon, Bool second) |
| const RayObject * | GetObject (const VolumeData *vd) const |
| Int32 | GetPolygon () const |
| Bool | GetSecond () const |
| void | ClearSecond () |
| void | SetSecond () |
| void | SetPrivateData ( Int32 t_rayobject, Int32 t_polygon) |
| void | GetPrivateData ( Int32 *t_rayobject, Int32 *t_polygon) const |
Private Attributes |
|
| Int32 | rayobject |
| Int32 | polygon |
| RayHitID | ( | ) |
Default constructor.
|
explicit |
Creates an uninitialized ray hit structure.
| [in] | DC | Dummy argument. Pass DC . |
| RayHitID | ( | const RayHitID & | other | ) |
Copy constructor. Creates a new RayHitID structure with all of the values from the other one.
| [in] | other | The source ray hit structure. |
| RayHitID | ( | const RayObject * | t_rayobject , |
| Int32 | t_polygon , | ||
| Bool | second | ||
| ) |
Creates a ray hit structure based on the passed parameters.
| [in] | t_rayobject | The ray object. |
| [in] | t_polygon | The polygon index. |
| [in] | second | true for second part (A-C-D) of a quadrangle, false for the first part (A-B-C). |
| Bool IsEqual | ( | const RayHitID & | snd | ) | const |
Checks if 2 ray hit structures are equal.
| [in] | snd | The ray hit structure to compare with. |
| Bool IsPopulated | ( | ) | const |
Checks if the ray hit identity is zero.
| void Clear | ( | ) |
Clears the ray hit identity.
| void Set | ( | const RayObject * | t_rayobject , |
| Int32 | t_polygon , | ||
| Bool | second | ||
| ) |
Setups the ray hit structure.
| [in] | t_rayobject | The ray object. |
| [in] | t_polygon | The polygon index. |
| [in] | second | true for second part (A-C-D) of a quadrangle, false for the first part (A-B-C). |
| const RayObject * GetObject | ( | const VolumeData * | vd | ) | const |
Retrieves the ray object of the ray hit identity for a volume data.
| [in] | vd | The volume data. |
| Int32 GetPolygon | ( | ) | const |
Gets the polygon index.
| Bool GetSecond | ( | ) | const |
Checks if the polygon is the second part of a quadrangle.
| void ClearSecond | ( | ) |
Sets the polygon to be a first part of a quadrangle (A-B-C).
| void SetSecond | ( | ) |
Set the polygon to be a second part of a quadrangle (A-C-D).
| void SetPrivateData | ( | Int32 | t_rayobject , |
| Int32 | t_polygon | ||
| ) |
Sets the private data.
| [in] | t_rayobject | The ray object index. |
| [in] | t_polygon | The polygon index. |
| void GetPrivateData | ( | Int32 * | t_rayobject , |
| Int32 * | t_polygon | ||
| ) | const |
Gets the private data.
| [out] | t_rayobject | Assigned the ray object index. |
| [out] | t_polygon | Assigned the polygon index. |
|
private |
|
private |