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

Houdini Engine Surface Binding. More...

#include <SurfaceAccessibleHapi.h>

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

Public Member Functions

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

Static Public Member Functions

static String lastError (HAPI_Session *a_pHapiSession)
 
- Static Public Member Functions inherited from fe::ext::SurfaceAccessibleBase
static String elementLayout (SurfaceAccessibleI::Element a_element)
 
static String attributeString (SurfaceAccessibleI::Attribute a_attribute)
 
static BWORD specsContain (const Array< Spec > &a_rSpecs, const Spec &a_rSpec)
 
- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 

Private Member Functions

sp< SurfaceAccessorHapiaccessor (void)
 

Private Attributes

std::map< String, Stringm_optionMap
 
Real m_frame
 
HAPI_Session m_hapiSession
 
HAPI_NodeId m_hapiNodeId
 
I32 m_curveParts
 
I32 m_meshParts
 
Array< SurfaceAccessibleI::Spec > m_pointSpecs
 
Array< SurfaceAccessibleI::Spec > m_vertexSpecs
 
Array< SurfaceAccessibleI::Spec > m_primitiveSpecs
 
Array< SurfaceAccessibleI::Spec > m_detailSpecs
 

Additional Inherited Members

- Public Types inherited from fe::ext::SurfaceAccessibleI
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
}
 
- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::ext::SurfaceAccessibleBase
virtual void reset (void)
 
SurfaceAccessibleI::Threading threading (void) const
 
void outlineClear (void)
 
void outlineAppend (String a_line)
 
void outlineCreateDefault (void)
 
String addGroupRanges (sp< SurfaceAccessibleBase::MultiGroup >, String a_groupString)
 
- 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::SurfaceAccessibleBase
static String commonName (String a_attrName)
 
static String attributeName (String a_specName)
 
- Protected Attributes inherited from fe::ext::SurfaceAccessibleBase
sp< SurfaceAccessibleI::ThreadingState > m_spThreadingState
 
BWORD m_paging
 
I64 m_locker
 
Array< Stringm_outline
 
std::map< String, sp< MultiGroup > > m_pointGroupMap
 
std::map< String, sp< MultiGroup > > m_primitiveGroupMap
 

Detailed Description

Houdini Engine Surface Binding.

Member Function Documentation

◆ accessor()

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

Return access to an attribute.

Reimplemented from fe::ext::SurfaceAccessibleBase.

References accessor().

Referenced by accessor().

◆ isBound()

BWORD fe::ext::SurfaceAccessibleHapi::isBound ( void  )
virtual

Return true if surface is available.

Reimplemented from fe::ext::SurfaceAccessibleBase.

◆ load()

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

load model data with settings

Reimplemented from fe::ext::SurfaceAccessibleBase.


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