7 #ifndef __surface_SurfaceI_h__ 8 #define __surface_SurfaceI_h__ 56 e_excludePolygons= 0x2,
69 virtual Real distance(
void)
const =0;
76 virtual I32 face(
void) =0;
85 virtual I32 triangleIndex(
void) =0;
97 virtual I32 primitiveIndex(
void) =0;
101 virtual I32 partitionIndex(
void) =0;
116 virtual Color diffuse(
void)
const =0;
117 virtual void setDiffuse(
Color a_diffuse) =0;
125 Real a_maxDistance) =0;
130 virtual void bind(
Instance a_instance) =0;
132 virtual void setSampleMethod(SampleMethod a_sampleMethod) =0;
134 virtual void setNodeName(
String a_nodeName) =0;
135 virtual String nodeName(
void)
const =0;
137 virtual void setRestrictions(Restrictions
139 virtual Restrictions restrictions(
void)
const =0;
148 virtual void setRefinement(U32 a_refinement) =0;
154 virtual void setAccuracy(Accuracy a_accuracy) =0;
163 virtual void setSearchable(BWORD a_searchable) =0;
170 virtual void setSearch(
String a_searchName) =0;
180 virtual void setTriangulation(Triangulation a_triangulation) =0;
189 virtual I32 triangleCount(
void) =0;
199 virtual Real radius(
void) =0;
200 virtual Real radius(
void)
const =0;
204 virtual Color diffuse(
void)
const =0;
250 virtual sp<ImpactI> sampleImpact(I32 a_triangleIndex,
252 virtual sp<ImpactI> sampleImpact(I32 a_triangleIndex,
254 virtual sp<ImpactI> sampleImpact(I32 a_triangleIndex,
300 virtual void prepareForSample(
void) =0;
301 virtual void prepareForSearch(
void) =0;
302 virtual void prepareForUVSearch(
void) =0;
305 virtual Containment containment(
const SpatialVector& a_origin) =0;
306 virtual Containment containment(
320 Real a_maxDistance) =0;
323 Real a_maxDistance)
const =0;
326 Real a_maxDistance,BWORD a_anyHit) =0;
329 BWORD a_anyHit)
const =0;
332 Real a_maxDistance) =0;
334 Real a_maxDistance)
const =0;
344 nearestPoints(
const Vector2& a_uv,
345 Real a_maxDistance,U32 a_hitLimit) =0;
347 nearestPoints(
const Vector2& a_uv,
349 U32 a_hitLimit)
const =0;
353 Real a_maxDistance,U32 a_hitLimit) =0;
357 U32 a_hitLimit)
const =0;
361 Real a_maxDistance,U32 a_hitLimit,
365 Real a_maxDistance,U32 a_hitLimit,
387 BWORD a_anyHit)
const =0;
396 BWORD a_anyHit)
const =0;
400 Real a_maxDistance) =0;
403 Real a_maxDistance)
const =0;
408 Real a_maxDistance,U32 a_hitLimit) =0;
412 Real a_maxDistance,U32 a_hitLimit)
const=0;
417 Real a_maxDistance,Real a_coneAngle,
421 Real a_maxDistance,Real a_coneAngle,
427 Real a_maxDistance,Real a_radius,
432 Real a_maxDistance,Real a_radius,
439 virtual void partitionWith(
String a_attributeName) =0;
440 virtual U32 partitionCount(
void)
const =0;
441 virtual String partitionName(U32 a_index)
const =0;
442 virtual Vector4 partitionSphere(U32 a_index)
const =0;
443 virtual I32 setPartitionFilter(
String a_filterString) =0;
444 virtual I32 setPartitionFilter(
String a_filterString,
445 PartitionI::FilterMethod a_filterMethod)=0;
calculate surface distances
Definition: SurfaceI.h:121
Spatial boundary.
Definition: SurfaceI.h:20
Heap-based support for classes participating in fe::ptr <>
Definition: Counted.h:35
Smart pointer used with types represented by BaseType.
Definition: Instance.h:28
kernel
Definition: namespace.dox:3
Special vector for color (RGBA)
Definition: Color.h:21
Automatically reference-counted string container.
Definition: String.h:128
results of a surface intersection
Definition: SurfaceI.h:60
Wrapper for std::vector.
Definition: Array.h:21
Base for all interfacable components.
Definition: Component.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192