Free Electron
Public Member Functions | Private Member Functions | List of all members
fe::ext::SurfaceSTL Class Reference

Surface in raw STL format. More...

#include <SurfaceSTL.h>

Inheritance diagram for fe::ext::SurfaceSTL:
Inheritance graph
[legend]

Public Member Functions

void initialize (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::ext::SurfaceTriangles
virtual void setTriangulation (Triangulation a_triangulation)
 Set how 4+ vertex polygons break down. More...
 
virtual sp< ImpactIsampleImpact (I32 a_triangleIndex, SpatialBary a_barycenter, SpatialVector a_tangent) const
 
virtual SpatialTransform sample (I32 a_triangleIndex, SpatialBary a_barycenter, SpatialVector a_tangent) const
 
virtual void drawInternal (BWORD a_transformed, const SpatialTransform *a_pTransform, sp< DrawI > a_spDrawI, const fe::Color *a_pColor, sp< DrawBufferI > a_spDrawBuffer, sp< PartitionI > a_spPartition) const
 
void setGroup (String a_group)
 
String group (void) const
 
- Public Member Functions inherited from fe::ext::SurfaceSearchable
virtual void setRefinement (U32 a_refinement)
 Set limitation of surface improvement, such as subdivision. More...
 
virtual void setAccuracy (SurfaceI::Accuracy a_accuracy)
 Set what primitive to search down to. More...
 
virtual void setSearchable (BWORD a_searchable)
 Set whether this surface may be searched. More...
 
virtual void setSearch (String a_searchName)
 Set component to use for searching. More...
 
virtual I32 triangleCount (void)
 Number of barycentric elements. More...
 
virtual SpatialTransform sample (Vector2 a_uv) const
 
virtual void prepareForSample (void)
 
virtual void prepareForSearch (void)
 
virtual void prepareForUVSearch (void)
 
virtual Array< sp< SurfaceI::ImpactI > > nearestPoints (const Vector2 &a_uv, Real a_maxDistance, U32 a_hitLimit) const
 
virtual sp< ImpactInearestPoint (const Vector2 &a_uv) const
 
virtual Array< sp< SurfaceI::ImpactI > > nearestPoints (const SpatialVector &a_origin, Real a_maxDistance, U32 a_hitLimit, sp< PartitionI > a_spPartition) const
 
virtual sp< ImpactInearestPoint (const SpatialVector &a_origin, Real a_maxDistance) const
 
virtual sp< ImpactInearestPoint (const SpatialVector &a_origin, Real a_maxDistance, BWORD a_anyHit) const
 
virtual Array< sp< SurfaceI::ImpactI > > rayImpacts (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, U32 a_hitLimit) const
 
virtual sp< ImpactIrayImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit) const
 
virtual void partitionWith (String a_attributeName)
 
virtual U32 partitionCount (void) const
 
virtual String partitionName (U32 a_index) const
 
virtual Vector4 partitionSphere (U32 a_index) const
 
virtual I32 setPartitionFilter (String a_filterString, PartitionI::FilterMethod a_filterMethod)
 
virtual sp< PartitionIcreatePartition (void)
 
virtual void draw (sp< DrawI > a_spDrawI, const Color *a_pColor, sp< DrawBufferI > a_spDrawBuffer) const
 
virtual void draw (const SpatialTransform &a_rTransform, sp< DrawI > a_spDrawI, const fe::Color *a_pColor, sp< DrawBufferI > a_spDrawBuffer, sp< PartitionI > a_spPartition) const
 
- Public Member Functions inherited from fe::ext::SurfaceSphere
virtual SpatialVector center (void)
 
virtual SpatialVector center (void) const
 
virtual Real radius (void)
 
virtual Real radius (void) const
 
virtual Color diffuse (void) const
 Return the diffuse color. More...
 
virtual void bind (Record &rRecord)
 
void setRadius (Real a_radius)
 
void setCenter (const SpatialVector &a_rCenter)
 
- Public Member Functions inherited from fe::ext::SurfaceBase
virtual void protect (void)
 
virtual void bind (Instance a_instance)
 associate with model data More...
 
virtual void setSampleMethod (SampleMethod a_sampleMethod)
 
virtual void setNodeName (String a_nodeName)
 
virtual String nodeName (void) const
 
virtual void setRestrictions (Restrictions a_restrictions)
 
virtual Restrictions restrictions (void) const
 
virtual SpatialTransform sample (Vector2 a_uv)
 
virtual SpatialTransform sample (I32 a_triangleIndex, SpatialBary a_barycenter)
 
virtual SpatialTransform sample (I32 a_triangleIndex, SpatialBary a_barycenter) const
 
virtual sp< ImpactIsampleImpact (I32 a_triangleIndex, SpatialBary a_barycenter)
 
virtual sp< ImpactIsampleImpact (I32 a_triangleIndex, SpatialBary a_barycenter) const
 
virtual SpatialVector samplePoint (const SpatialTransform &a_transform, Vector2 a_uv)
 
virtual SpatialVector samplePoint (Vector2 a_uv)
 
virtual SpatialVector samplePoint (const SpatialTransform &a_transform, Vector2 a_uv) const
 
virtual SpatialVector samplePoint (Vector2 a_uv) const
 
virtual SpatialVector sampleNormal (const SpatialTransform &a_transform, Vector2 a_uv)
 
virtual SpatialVector sampleNormal (Vector2 a_uv)
 
virtual SpatialVector sampleNormal (const SpatialTransform &a_transform, Vector2 a_uv) const
 
virtual SpatialVector sampleNormal (Vector2 a_uv) const
 
virtual Containment containment (const SpatialVector &a_origin)
 
virtual Containment containment (const SpatialVector &a_origin) const
 
virtual sp< ImpactInearestPoint (const SpatialTransform &a_transform, const SpatialVector &a_origin, Real a_maxDistance)
 
virtual sp< ImpactInearestPoint (const SpatialVector &a_origin, Real a_maxDistance, BWORD a_anyHit)
 
virtual sp< ImpactInearestPoint (const SpatialVector &a_origin, Real a_maxDistance)
 
virtual sp< ImpactInearestPoint (const SpatialVector &a_origin)
 
virtual sp< ImpactInearestPoint (const Vector2 &a_uv)
 
virtual sp< ImpactInearestPoint (const SpatialTransform &a_transform, const SpatialVector &a_origin, Real a_maxDistance) const
 
virtual sp< ImpactInearestPoint (const SpatialVector &a_origin) const
 
virtual Array< sp< SurfaceI::ImpactI > > nearestPoints (const Vector2 &a_uv, Real a_maxDistance, U32 a_hitLimit)
 
virtual Array< sp< SurfaceI::ImpactI > > nearestPoints (const SpatialVector &a_origin, Real a_maxDistance, U32 a_hitLimit)
 
virtual Array< sp< SurfaceI::ImpactI > > nearestPoints (const SpatialVector &a_origin, Real a_maxDistance, U32 a_hitLimit) const
 
virtual Array< sp< SurfaceI::ImpactI > > nearestPoints (const SpatialVector &a_origin, Real a_maxDistance, U32 a_hitLimit, sp< PartitionI > a_spPartition)
 
virtual sp< ImpactIrayImpact (const SpatialTransform &a_transform, const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit)
 
virtual sp< ImpactIrayImpact (const SpatialTransform &a_transform, const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit) const
 
virtual sp< ImpactIrayImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit)
 
virtual sp< ImpactIrayImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance)
 
virtual sp< ImpactIrayImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance) const
 
virtual Array< sp< SurfaceI::ImpactI > > rayImpacts (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, U32 a_hitLimit)
 
virtual sp< ImpactIconeImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, Real a_coneAngle, sp< DrawI > a_spDrawI)
 
virtual sp< ImpactIconeImpact (const SpatialTransform &a_transform, const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, Real a_coneAngle, sp< DrawI > a_spDrawI)
 
virtual sp< ImpactIcapsuleImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, Real a_radius, BWORD a_anyHit, sp< DrawI > a_spDrawI, sp< ImpactI > a_spLastImpact)
 
virtual sp< ImpactIcapsuleImpact (const SpatialTransform &a_transform, const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, Real a_radius, BWORD a_anyHit, sp< DrawI > a_spDrawI, sp< ImpactI > a_spLastImpact)
 
virtual sp< GaugeIgauge (void)
 
virtual I32 setPartitionFilter (String a_filterString)
 
virtual void draw (sp< DrawI > a_spDrawI, const fe::Color *a_pColor)
 Draw with current settings. More...
 
virtual void draw (sp< DrawI > a_spDrawI, const fe::Color *a_pColor) const
 
virtual void draw (const SpatialTransform &a_transform, sp< DrawI > a_spDrawI, const fe::Color *a_pColor)
 
virtual void draw (const SpatialTransform &a_transform, sp< DrawI > a_spDrawI, const fe::Color *a_pColor) const
 
virtual void draw (const SpatialTransform &a_transform, sp< DrawI > a_spDrawI, const fe::Color *a_pColor, sp< DrawBufferI > a_spDrawBuffer, sp< PartitionI > a_spPartition)
 
- Public Member Functions inherited from fe::Component
const Stringname (void) const
 Return the components chosen name. More...
 
const String verboseName (void) const
 Return the annotated chosen name. More...
 
void setName (const String &name)
 Rename the component to anything you want. More...
 
hp< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (const String &implementation, BWORD quiet=FALSE) const
 Convienience function to registry()->create() More...
 
void disjoin (void)
 Untie component from Hub, if connected. More...
 
String factoryName (void)
 
void setLibrary (sp< Library > spLibrary)
 Store a reference to the library used to instantiate this component. More...
 
sp< Librarylibrary (void)
 Get the library that created the component. More...
 
void setFactoryIndex (I32 a_factoryIndex)
 Set the library's factory index. More...
 
I32 factoryIndex (void)
 Get the library's factory index. More...
 
void setSingleton (BWORD set)
 Specify whether component is a singleton. More...
 
BWORD isSingleton (void)
 Return whether component is a singleton. More...
 
virtual void acquire (void)
 Specialized reference increment. More...
 
virtual void release (void)
 Specialized reference decrement. More...
 
- Public Member Functions inherited from fe::Handled< Component >
const hp< Component > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void unprotect (void)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 
- Public Member Functions inherited from fe::ext::SurfaceI
virtual void setSampleMethod (SampleMethod a_sampleMethod)=0
 

Private Member Functions

virtual void cache (void)
 

Additional Inherited Members

- Public Types inherited from fe::ext::SurfaceSearchable
enum  Arrays {
  e_arrayNull = 0x00,
  e_arrayColor = 0x01,
  e_arrayUV = 0x02,
  e_arrayRadius = 0x04
}
 
- Public Types inherited from fe::ext::SurfaceI
enum  SampleMethod {
  e_flat,
  e_linear,
  e_pointNormal,
  e_spline
}
 
enum  Containment {
  e_unknown,
  e_inside,
  e_outside
}
 
enum  Accuracy {
  e_sphere,
  e_triangle
}
 
enum  Triangulation {
  e_existingPoints,
  e_balanced
}
 
enum  Restrictions {
  e_unrestricted = 0x0,
  e_excludeCurves = 0x1,
  e_excludePolygons = 0x2
}
 
- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::ext::SurfaceTriangles
virtual void resolveImpact (sp< ImpactI > a_spImpactI) const
 
- Protected Member Functions inherited from fe::ext::SurfaceSearchable
I32 lookupPartition (String a_partitionString)
 
void clear ()
 
void filterUV (void)
 
void calcTangents (void)
 
void calcBoundingSphere (void)
 
void setOptionalArrays (Arrays a_arrays)
 
void resizeArrays (U32 a_elementCount, U32 a_verticeCount)
 
void resizeFor (U32 a_primitiveCount, U32 a_vertexCount, U32 &a_rElementAllocated, U32 &a_rVertexAllocated)
 
- Protected Member Functions inherited from fe::ext::SurfaceBase
sp< ImpactIshootRay (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit, sp< ImpactI > a_spLastImpact)
 
sp< ImpactItubeImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, Real a_radius0, Real a_radius1, BWORD a_anyHit, sp< DrawI > a_spDrawI, sp< ImpactI > a_spLastImpact)
 
virtual void checkCache (void)
 
- Protected Member Functions inherited from fe::Handled< Component >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 
- Static Protected Member Functions inherited from fe::ext::SurfaceBase
static void drawHit (sp< DrawI > a_spDrawI, SpatialVector a_center, Real a_radius, Color a_color)
 
- Protected Attributes inherited from fe::ext::SurfaceTriangles
Triangulation m_triangulation
 
- Protected Attributes inherited from fe::ext::SurfaceSearchable
U32 m_refinement
 
SurfaceI::Accuracy m_accuracy
 
BWORD m_searchable
 
String m_searchName
 
U32 m_elements
 
U32 m_vertices
 
Arrays m_optionalArrays
 
Vector3im_pElementArray
 
SpatialVectorm_pVertexArray
 
SpatialVectorm_pNormalArray
 
SpatialVectorm_pTangentArray
 
Vector2m_pUVArray
 
SpatialVectorm_pUV3Array
 
Colorm_pColorArray
 
Real * m_pRadiusArray
 
I32 * m_pTriangleIndexArray
 
I32 * m_pPartitionIndexArray
 
I32 * m_pPointIndexArray
 
I32 * m_pPrimitiveIndexArray
 
Array< I32 > m_vertexMap
 
Array< I32 > m_hullPointMap
 
Array< Vector4im_hullFacePointArray
 
sp< Componentm_spSearchComponent
 
sp< SpatialTreeIm_spSpatialTree
 
sp< SpatialTreeIm_spUVTree
 
String m_partitionAttr
 
sp< PartitionIm_spPartition
 
Array< Vector4m_partitionSphere
 
CountedPoolCore * m_pImpactPool
 
- Protected Attributes inherited from fe::ext::SurfaceSphere
WeakRecord m_record
 
SpatialVector m_center
 
Real m_radius
 
Color m_emissive
 
Color m_ambient
 
Color m_diffuse
 
Color m_specular
 
Real m_shininess
 
CountedPool< Impact > m_sphereImpactPool
 
- Protected Attributes inherited from fe::ext::SurfaceBase
BWORD m_cached
 
SampleMethod m_sampleMethod
 
String m_nodeName
 
Restrictions m_restrictions
 

Detailed Description

Surface in raw STL format.


The documentation for this class was generated from the following files: