Free Electron
Public Member Functions | List of all members
fe::ext::SurfaceI::ImpactI Class Referenceabstract

results of a surface intersection More...

#include <SurfaceI.h>

Inheritance diagram for fe::ext::SurfaceI::ImpactI:
Inheritance graph
[legend]

Public Member Functions

virtual SpatialVector origin (void) const =0
 
virtual SpatialVector direction (void) const =0
 
virtual Real distance (void) const =0
 
virtual SpatialVector intersection (void)=0
 
virtual SpatialVector normal (void)=0
 
virtual I32 face (void)=0
 Internal search index. More...
 
virtual I32 triangleIndex (void)=0
 Barycentric element index. More...
 
virtual I32 primitiveIndex (void)=0
 Source's atomic index. More...
 
virtual I32 partitionIndex (void)=0
 numerical enumeration of the named partitions More...
 
virtual SpatialBary barycenter (void)=0
 Position within a triangle or curve. More...
 
virtual Vector2 uv (void)=0
 
virtual SpatialVector du (void)=0
 
virtual SpatialVector dv (void)=0
 
virtual Color diffuse (void) const =0
 TEMP HACK for xMechanics test TODO Material independent from surface. More...
 
virtual void setDiffuse (Color a_diffuse)=0
 
- 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 protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- 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)
 

Additional Inherited Members

- 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::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)
 

Detailed Description

results of a surface intersection

Member Function Documentation

◆ barycenter()

virtual SpatialBary fe::ext::SurfaceI::ImpactI::barycenter ( void  )
pure virtual

Position within a triangle or curve.

For triangluar representations, this is the barycentric coordinate. For curves, the first vector element is the unit distance along the curve.

◆ diffuse()

virtual Color fe::ext::SurfaceI::ImpactI::diffuse ( void  ) const
pure virtual

TEMP HACK for xMechanics test TODO Material independent from surface.

◆ face()

virtual I32 fe::ext::SurfaceI::ImpactI::face ( void  )
pure virtual

Internal search index.

◆ partitionIndex()

virtual I32 fe::ext::SurfaceI::ImpactI::partitionIndex ( void  )
pure virtual

numerical enumeration of the named partitions

◆ primitiveIndex()

virtual I32 fe::ext::SurfaceI::ImpactI::primitiveIndex ( void  )
pure virtual

Source's atomic index.

This is an index specific to where the pickable element came from. One index may be for a free triangle, a pair of triangles from a quad, a pure quadric, a full NURBS patch, a whole curve, or whatever arbitrary collective was determined relevant by the system it came from.

◆ triangleIndex()

virtual I32 fe::ext::SurfaceI::ImpactI::triangleIndex ( void  )
pure virtual

Barycentric element index.

Use this for barycentric sampling. For surfaces converted into triangles, this is simply that index. For curves, this is really the curve index.


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