7 #ifndef __surface_SpatialTreeBase_h__ 8 #define __surface_SpatialTreeBase_h__ 25 public SpatialTreeI::Hit,
44 set(m_color,1.0,1.0,1.0);
60 {
return m_intersection; }
63 {
return m_direction; }
64 virtual Real distance(
void)
const 65 {
return m_distance; }
66 virtual I32 face(
void)
const 68 virtual I32 triangleIndex(
void)
const 69 {
return m_triangleIndex; }
70 virtual I32 primitiveIndex(
void)
const 71 {
return m_primitiveIndex; }
72 virtual I32 partitionIndex(
void)
const 73 {
return m_partitionIndex; }
76 {
return m_barycenter; }
87 const Color& color(
void)
const 90 const I32* pointIndex(
void)
const 91 {
return m_pPointIndex; }
99 void copy(
const sp<Hit>& a_rspOther)
101 m_intersection=a_rspOther->intersection();
102 m_direction=a_rspOther->direction();
103 m_distance=a_rspOther->distance();
104 m_face=a_rspOther->face();
105 m_triangleIndex=a_rspOther->triangleIndex();
107 a_rspOther->primitiveIndex();
109 a_rspOther->partitionIndex();
110 m_barycenter=a_rspOther->barycenter();
111 m_uv=a_rspOther->uv();
112 m_du=a_rspOther->du();
113 m_dv=a_rspOther->dv();
114 m_color=a_rspOther->color();
116 a_rspOther->pointIndex()[0];
118 a_rspOther->pointIndex()[1];
120 a_rspOther->pointIndex()[2];
121 m_pVertex[0]=a_rspOther->vertex()[0];
122 m_pVertex[1]=a_rspOther->vertex()[1];
123 m_pVertex[2]=a_rspOther->vertex()[2];
124 m_pNormal[0]=a_rspOther->normal()[0];
125 m_pNormal[1]=a_rspOther->normal()[1];
126 m_pNormal[2]=a_rspOther->normal()[2];
135 I32 m_primitiveIndex;
136 I32 m_partitionIndex;
142 I32 m_pPointIndex[3];
150 virtual void setAccuracy(SurfaceI::Accuracy a_accuracy)
151 { m_accuracy=a_accuracy; }
157 SurfaceI::Accuracy m_accuracy;
kernel
Definition: namespace.dox:3
Special vector for color (RGBA)
Definition: Color.h:21
Triangular storage using a simple array.
Definition: SpatialTreeBase.h:20
Triangular storage interface.
Definition: SpatialTreeI.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192