Free Electron
|
Segmented Path Surface. More...
#include <SurfaceCurves.h>
Public Member Functions | |
virtual Protectable * | clone (Protectable *pInstance=NULL) |
virtual sp< ImpactI > | sampleImpact (I32 a_triangleIndex, SpatialBary a_barycenter, SpatialVector a_tangent) const |
virtual SpatialTransform | sample (I32 a_triangleIndex, SpatialBary a_barycenter, SpatialVector a_tangent) const |
virtual SpatialTransform | sample (Vector2 a_uv) 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 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< ImpactI > | nearestPoint (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< ImpactI > | nearestPoint (const SpatialVector &a_origin, Real a_maxDistance) const |
virtual sp< ImpactI > | nearestPoint (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< ImpactI > | rayImpact (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< PartitionI > | createPartition (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 void | setTriangulation (Triangulation a_triangulation) |
Set how 4+ vertex polygons break down. More... | |
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< ImpactI > | sampleImpact (I32 a_triangleIndex, SpatialBary a_barycenter) |
virtual sp< ImpactI > | sampleImpact (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< ImpactI > | nearestPoint (const SpatialTransform &a_transform, const SpatialVector &a_origin, Real a_maxDistance) |
virtual sp< ImpactI > | nearestPoint (const SpatialVector &a_origin, Real a_maxDistance, BWORD a_anyHit) |
virtual sp< ImpactI > | nearestPoint (const SpatialVector &a_origin, Real a_maxDistance) |
virtual sp< ImpactI > | nearestPoint (const SpatialVector &a_origin) |
virtual sp< ImpactI > | nearestPoint (const Vector2 &a_uv) |
virtual sp< ImpactI > | nearestPoint (const SpatialTransform &a_transform, const SpatialVector &a_origin, Real a_maxDistance) const |
virtual sp< ImpactI > | nearestPoint (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< ImpactI > | rayImpact (const SpatialTransform &a_transform, const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit) |
virtual sp< ImpactI > | rayImpact (const SpatialTransform &a_transform, const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit) const |
virtual sp< ImpactI > | rayImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit) |
virtual sp< ImpactI > | rayImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance) |
virtual sp< ImpactI > | rayImpact (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< ImpactI > | coneImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, Real a_coneAngle, sp< DrawI > a_spDrawI) |
virtual sp< ImpactI > | coneImpact (const SpatialTransform &a_transform, const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, Real a_coneAngle, sp< DrawI > a_spDrawI) |
virtual sp< ImpactI > | capsuleImpact (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< ImpactI > | capsuleImpact (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< GaugeI > | gauge (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 String & | name (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< Registry > | registry (void) const |
Get the Registry that created this component. More... | |
void | adjoin (sp< Component > spComponent) |
Tie this component's lifetime to another. More... | |
sp< Component > | create (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< Library > | library (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 |
Protected Member Functions | |
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 |
virtual void | cache (void) |
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< ImpactI > | shootRay (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit, sp< ImpactI > a_spLastImpact) |
sp< ImpactI > | tubeImpact (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) |
Private Attributes | |
CountedPool< Impact > | m_curveImpactPool |
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 *) |
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::SurfaceSearchable | |
U32 | m_refinement |
SurfaceI::Accuracy | m_accuracy |
BWORD | m_searchable |
String | m_searchName |
U32 | m_elements |
U32 | m_vertices |
Arrays | m_optionalArrays |
Vector3i * | m_pElementArray |
SpatialVector * | m_pVertexArray |
SpatialVector * | m_pNormalArray |
SpatialVector * | m_pTangentArray |
Vector2 * | m_pUVArray |
SpatialVector * | m_pUV3Array |
Color * | m_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< Vector4i > | m_hullFacePointArray |
sp< Component > | m_spSearchComponent |
sp< SpatialTreeI > | m_spSpatialTree |
sp< SpatialTreeI > | m_spUVTree |
String | m_partitionAttr |
sp< PartitionI > | m_spPartition |
Array< Vector4 > | m_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 |
Related Functions inherited from fe::Component | |
FE_DL_EXPORT void FE_CDECL | checkUnload (sp< Library > &pLibrary, Component *pComponent=NULL) |
Delete the component and unload libraries where appropriate. More... | |
Segmented Path Surface.
This surface presumes uniform cv counts.