Free Electron
Classes | Public Types | Public Member Functions | List of all members
fe::ext::SurfaceAccessibleI Class Referenceabstract

Surface Element Access and Alteration. More...

#include <SurfaceAccessibleI.h>

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

Classes

class  FilterI
 view to a reduced set in indices More...
 

Public Types

enum  Element {
  e_point,
  e_pointGroup,
  e_vertex,
  e_primitive,
  e_primitiveGroup,
  e_detail,
  e_elementEnums
}
 
enum  Attribute {
  e_generic,
  e_position,
  e_normal,
  e_uv,
  e_color,
  e_vertices,
  e_properties
}
 
enum  Properties {
  e_openCurve,
  e_countU,
  e_countV,
  e_wrappedU,
  e_wrappedV,
  e_depth
}
 
enum  Form {
  e_closed,
  e_open
}
 
enum  Message {
  e_quiet,
  e_warning,
  e_error
}
 
enum  Creation {
  e_refuseMissing,
  e_createMissing
}
 
enum  Writable {
  e_readOnly,
  e_readWrite
}
 
enum  AtomicChange {
  e_pointsOnly,
  e_pointsOfPrimitives,
  e_primitivesOnly,
  e_primitivesWithPoints
}
 
enum  Threading {
  e_unknown =WorkI::e_unknown,
  e_singleThread =WorkI::e_singleThread,
  e_multiThread =WorkI::e_multiThread
}
 

Public Member Functions

virtual BWORD isBound (void)=0
 Return true if surface is available. More...
 
virtual void bind (Instance a_instance)=0
 associate with model data More...
 
virtual void bind (sp< Scope > a_scope)=0
 choose a data scope More...
 
virtual void bind (sp< SurfaceAccessibleI::ThreadingState > a_spThreadingState)=0
 Inform threading intentions. More...
 
virtual BWORD load (String a_filename)=0
 load model data from file More...
 
virtual BWORD load (String a_filename, sp< Catalog > a_spSettings)=0
 load model data with settings More...
 
virtual BWORD save (String a_filename)=0
 save model data to file More...
 
virtual BWORD save (String a_filename, sp< Catalog > a_spSettings)=0
 save model data with settings More...
 
virtual BWORD threadable (void)=0
 Indicate whether an implementation can be accessed from multiple threads. More...
 
virtual void lock (void)=0
 Start a thread-unsafe action. More...
 
virtual void lock (I64 a_id)=0
 
virtual void unlock (void)=0
 Finish a thread-unsafe action. More...
 
virtual void unlock (I64 a_id)=0
 
virtual void groupNames (Array< String > &a_rNameArray, SurfaceAccessibleI::Element a_element) const =0
 
virtual void attributeSpecs (Array< SurfaceAccessibleI::Spec > &a_rSpecs, SurfaceAccessibleI::Element a_element) const =0
 
virtual void attributeSpecs (Array< SurfaceAccessibleI::Spec > &a_rSpecs, String a_nodeName, SurfaceAccessibleI::Element a_element) const =0
 
virtual void clear (void)=0
 
virtual I32 count (String a_nodeName, SurfaceAccessibleI::Element a_element) const =0
 
virtual I32 count (SurfaceAccessibleI::Element a_element) const =0
 
virtual sp< SurfaceAccessorIaccessor (String a_node, SurfaceAccessibleI::Element a_element, String a_name, SurfaceAccessibleI::Creation a_create, SurfaceAccessibleI::Writable a_writable)=0
 Return access to an attribute. More...
 
virtual sp< SurfaceAccessorIaccessor (String a_node, SurfaceAccessibleI::Element a_element, SurfaceAccessibleI::Attribute a_attribute, SurfaceAccessibleI::Creation a_create, SurfaceAccessibleI::Writable a_writable)=0
 
virtual sp< SurfaceAccessorIaccessor (String a_node, SurfaceAccessibleI::Element a_element, String a_name, SurfaceAccessibleI::Creation a_create)=0
 
virtual sp< SurfaceAccessorIaccessor (String a_node, SurfaceAccessibleI::Element a_element, SurfaceAccessibleI::Attribute a_attribute, SurfaceAccessibleI::Creation a_create)=0
 
virtual sp< SurfaceAccessorIaccessor (SurfaceAccessibleI::Element a_element, String a_name, SurfaceAccessibleI::Creation a_create)=0
 
virtual sp< SurfaceAccessorIaccessor (SurfaceAccessibleI::Element a_element, SurfaceAccessibleI::Attribute a_attribute, SurfaceAccessibleI::Creation a_create)=0
 
virtual sp< SurfaceAccessorIaccessor (SurfaceAccessibleI::Element a_element, String a_name)=0
 
virtual sp< SurfaceAccessorIaccessor (SurfaceAccessibleI::Element a_element, SurfaceAccessibleI::Attribute a_attribute)=0
 
virtual I32 discardPattern (SurfaceAccessibleI::Element a_element, String a_pattern)=0
 Remove attributes/groups for entire surface. More...
 
virtual BWORD discard (SurfaceAccessibleI::Element a_element, String a_name)=0
 
virtual BWORD discard (SurfaceAccessibleI::Element a_element, SurfaceAccessibleI::Attribute a_attribute)=0
 
virtual I32 deleteElements (SurfaceAccessibleI::Element a_element, String a_groupString, BWORD a_retainGroups)=0
 Remove elements from surface. More...
 
virtual I32 deleteElements (SurfaceAccessibleI::Element a_element, std::set< I32 > &a_rIntSet, BWORD a_retainGroups)=0
 
virtual sp< SurfaceIsurface (void)=0
 Return current underlying SurfaceI. More...
 
virtual sp< SurfaceIsurface (String a_group)=0
 
virtual sp< SurfaceIsurface (String a_group, SurfaceI::Restrictions a_restrictions)=0
 
virtual sp< SurfaceIsubSurface (U32 a_subIndex)=0
 
virtual sp< SurfaceIsubSurface (U32 a_subIndex, String a_group)=0
 
virtual sp< SurfaceIsubSurface (U32 a_subIndex, String a_group, SurfaceI::Restrictions a_restrictions)=0
 
virtual void copy (sp< SurfaceAccessibleI > a_spSurfaceAccessible)=0
 
virtual void copy (sp< SurfaceAccessibleI > a_spSurfaceAccessible, String a_nodeName)=0
 
virtual void copy (sp< SurfaceAccessibleI > a_spSurfaceAccessible, sp< FilterI > a_spFilter)=0
 
virtual void append (sp< SurfaceAccessibleI > a_spSurfaceAccessibleI, const SpatialTransform *a_pTransform)=0
 
virtual void append (sp< SurfaceAccessibleI > a_spSurfaceAccessible, String a_nodeName, const Array< SpatialTransform > &a_rTransformArray, sp< FilterI > a_spFilter)=0
 
virtual void instance (sp< SurfaceAccessibleI > a_spSurfaceAccessibleI, const Array< SpatialTransform > &a_rTransformArray)=0
 
virtual sp< SpannedRangeatomize (SurfaceAccessibleI::AtomicChange a_atomicChange, String a_group, U32 a_desiredCount)=0
 
virtual sp< SpannedRangeatomizeConnectivity (SurfaceAccessibleI::AtomicChange a_atomicChange, String a_group, U32 a_desiredCount, BWORD a_checkPages)=0
 
virtual void setPaging (BWORD a_paging)=0
 
virtual BWORD paging (void) const =0
 
virtual void preparePaging (SurfaceAccessibleI::AtomicChange a_atomicChange, String a_group)=0
 
virtual I32 pointPage (U32 a_pointIndex) const =0
 
virtual I32 primitivePage (U32 a_primitiveIndex) const =0
 
virtual BWORD copyOutline (Array< String > &a_rStringArray) const =0
 
virtual sp< Componentpayload (void)=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

Surface Element Access and Alteration.

Member Function Documentation

◆ accessor()

virtual sp<SurfaceAccessorI> fe::ext::SurfaceAccessibleI::accessor ( String  a_node,
SurfaceAccessibleI::Element  a_element,
String  a_name,
SurfaceAccessibleI::Creation  a_create,
SurfaceAccessibleI::Writable  a_writable 
)
pure virtual

◆ bind() [1/3]

virtual void fe::ext::SurfaceAccessibleI::bind ( Instance  a_instance)
pure virtual

◆ bind() [2/3]

virtual void fe::ext::SurfaceAccessibleI::bind ( sp< Scope a_scope)
pure virtual

choose a data scope

Implemented in fe::ext::SurfaceAccessibleRecord, and fe::ext::SurfaceAccessibleBase.

◆ bind() [3/3]

virtual void fe::ext::SurfaceAccessibleI::bind ( sp< SurfaceAccessibleI::ThreadingState >  a_spThreadingState)
pure virtual

Inform threading intentions.

Implemented in fe::ext::SurfaceAccessibleRecord, and fe::ext::SurfaceAccessibleBase.

◆ deleteElements()

virtual I32 fe::ext::SurfaceAccessibleI::deleteElements ( SurfaceAccessibleI::Element  a_element,
String  a_groupString,
BWORD  a_retainGroups 
)
pure virtual

Remove elements from surface.

The group string argument is space delimited regex patterns of groups and/or numerical ranges (like "2-5 17").

If a_retainGroups is true, remove all elements not in the groups.

Implemented in fe::ext::SurfaceAccessibleBase.

◆ discardPattern()

virtual I32 fe::ext::SurfaceAccessibleI::discardPattern ( SurfaceAccessibleI::Element  a_element,
String  a_pattern 
)
pure virtual

Remove attributes/groups for entire surface.

The pattern argument is space delimited regex patterns.

Implemented in fe::ext::SurfaceAccessibleBase.

◆ isBound()

virtual BWORD fe::ext::SurfaceAccessibleI::isBound ( void  )
pure virtual

◆ load() [1/2]

virtual BWORD fe::ext::SurfaceAccessibleI::load ( String  a_filename)
pure virtual

load model data from file

Implemented in fe::ext::SurfaceAccessibleBase.

◆ load() [2/2]

virtual BWORD fe::ext::SurfaceAccessibleI::load ( String  a_filename,
sp< Catalog a_spSettings 
)
pure virtual

◆ lock()

virtual void fe::ext::SurfaceAccessibleI::lock ( void  )
pure virtual

Start a thread-unsafe action.

Implemented in fe::ext::SurfaceAccessibleBase.

◆ save() [1/2]

virtual BWORD fe::ext::SurfaceAccessibleI::save ( String  a_filename)
pure virtual

save model data to file

Implemented in fe::ext::SurfaceAccessibleBase.

◆ save() [2/2]

virtual BWORD fe::ext::SurfaceAccessibleI::save ( String  a_filename,
sp< Catalog a_spSettings 
)
pure virtual

◆ surface()

virtual sp<SurfaceI> fe::ext::SurfaceAccessibleI::surface ( void  )
pure virtual

Return current underlying SurfaceI.

Implemented in fe::ext::SurfaceAccessibleBase.

◆ threadable()

virtual BWORD fe::ext::SurfaceAccessibleI::threadable ( void  )
pure virtual

Indicate whether an implementation can be accessed from multiple threads.

Implemented in fe::ext::SurfaceAccessibleOpenCL, and fe::ext::SurfaceAccessibleBase.

◆ unlock()

virtual void fe::ext::SurfaceAccessibleI::unlock ( void  )
pure virtual

Finish a thread-unsafe action.

Implemented in fe::ext::SurfaceAccessibleBase.


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