|
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.
1.8.13