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

Alembic Surface Binding. More...

#include <SurfaceAccessibleAbc.h>

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

Public Member Functions

virtual BWORD load (String a_filename, sp< Catalog > a_spSettings)
 load model data with settings More...
 
- Public Member Functions inherited from fe::ext::SurfaceAccessibleJoint
void startJoints (void)
 
void completeJoints (void)
 
BWORD setJoint (String a_name, String a_parentName, const SpatialTransform &a_rXformRelative, const SpatialVector &a_rScaleLocal, const SpatialTransform &a_rRefWorld, Color a_color)
 
BWORD addJoint (String a_name, String a_parentName, const SpatialTransform &a_rAnimLocal, const SpatialTransform &a_rAnimWorld, const SpatialVector &a_rScaleLocal, const SpatialTransform &a_rRefWorld, Real a_length, Color a_color)
 
BWORD addJoint (String a_name, String a_parentName, const SpatialTransform &a_rAnimLocal, const SpatialTransform &a_rAnimWorld, const SpatialVector &a_rScaleLocal, Real a_length, Color a_color)
 
void startPoints (void)
 
void completePoints (void)
 
void startMeshes (void)
 
void completeMeshes (void)
 
void startCurves (void)
 
void completeCurves (void)
 
- Public Member Functions inherited from fe::ext::SurfaceAccessibleCatalog
virtual Protectableclone (Protectable *pInstance=NULL)
 
virtual void bind (Instance a_instance)
 associate with model data More...
 
virtual BWORD isBound (void)
 Return true if surface is available. More...
 
virtual BWORD save (String a_filename, sp< Catalog > a_spSettings)
 save model data with settings 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 discard (SurfaceAccessibleI::Element a_element, String a_name)
 
sp< Catalogcatalog (void)
 
void setCatalog (sp< Catalog > a_spCatalog)
 
void setKey (String a_key)
 
String key (void)
 
BWORD persistent (void)
 
void setPersistent (BWORD a_persistent)
 
- Public Member Functions inherited from fe::ext::SurfaceAccessibleBase
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 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, SurfaceAccessibleI::Attribute a_attribute)
 
virtual sp< SurfaceIsurface (void)
 Return current underlying SurfaceI. More...
 
virtual sp< SurfaceIsurface (String a_group)
 
virtual sp< SurfaceIsurface (String a_group, SurfaceI::Restrictions a_restrictions)
 
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)
 
- 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 scopeClass (Alembic::AbcGeom::GeometryScope a_geometryScope)
 
static String scopeRate (Alembic::AbcGeom::GeometryScope a_geometryScope)
 
- 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 Types

enum  Mode {
  e_scan,
  e_points,
  e_meshes,
  e_curves,
  e_joints
}
 

Private Member Functions

BWORD setContext (String a_filename)
 
void visit (Alembic::AbcGeom::IObject a_iObj)
 
void visitProperty (Alembic::AbcGeom::IScalarProperty a_properties, String a_indent, String a_parentPath, String a_path, Alembic::AbcGeom::GeometryScope a_geometryScope)
 
void visitProperty (Alembic::AbcGeom::IArrayProperty a_properties, String a_indent, String a_parentPath, String a_path, Alembic::AbcGeom::GeometryScope a_geometryScope)
 
void visitProperty (Alembic::AbcGeom::ICompoundProperty a_properties, String &a_rIndent, String a_parentPath, String a_path)
 
void visitProperties (Alembic::AbcGeom::ICompoundProperty a_properties, String &a_rIndent, String a_parentPath, String a_path)
 
void outlineProperty (String a_indent, String a_propName, String a_interpretation, String a_dataType, String a_rate, I32 a_arrayCount, I32 a_sampleCount)
 

Static Private Member Functions

static String basenameOf (String a_path)
 

Private Attributes

BWORD m_refMode
 
Real m_fps
 
Real m_minStep
 
Mode m_mode
 
I32 m_xformCount
 
I32 m_meshCount
 
I32 m_curveCount
 
I32 m_instanceCount
 
sp< FileContext > m_spContext
 
String m_filename
 
SpatialTransform m_refWorld
 
SpatialTransform m_currentXform
 
Array< Stringm_pathArray
 
Array< Stringm_matchArray
 
Array< SpatialVectorm_pointArray
 
Array< SpatialVectorm_pointRefArray
 
Array< SpatialVectorm_colorArray
 
Array< SpatialVectorm_normalArray
 
Array< SpatialVectorm_uvArray
 
Array< I32 > m_uvLookupArray
 
Array< I32 > m_vertCountArray
 
Array< I32 > m_vertIndexArray
 
Array< Real > m_radiusArray
 
Array< Array< I32 > > m_primVerts
 
std::map< String, Alembic::AbcGeom::GeometryScope > m_scopeMap
 
std::map< String, Array< String > > m_stringArrayMap
 
std::map< String, Array< I32 > > m_integerArrayMap
 
std::map< String, Array< Real > > m_realArrayMap
 
std::map< String, Array< SpatialVector > > m_vectorArrayMap
 
std::map< String, I32 > m_firstFaceMap
 
Alembic::AbcGeom::GeometryScope m_normalScope
 
Alembic::AbcGeom::GeometryScope m_colorScope
 
Alembic::AbcGeom::GeometryScope m_uvScope
 

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::SurfaceAccessibleJoint
virtual void reset (void)
 
void resetJoints (void)
 
void clearAccessors (void)
 
void setOptions (String a_options)
 
- Protected Member Functions inherited from fe::ext::SurfaceAccessibleBase
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::SurfaceAccessibleJoint
Real m_frame
 
std::map< String, Stringm_optionMap
 
sp< StringFilterIm_spFilter
 
sp< SurfaceAccessorIm_spOutputPoint
 
sp< SurfaceAccessorIm_spOutputColor
 
sp< SurfaceAccessorIm_spOutputNormal
 
sp< SurfaceAccessorIm_spOutputUV
 
sp< SurfaceAccessorIm_spOutputPart
 
sp< SurfaceAccessorIm_spOutputRadius
 
sp< SurfaceAccessorIm_spOutputName
 
sp< SurfaceAccessorIm_spOutputParent
 
sp< SurfaceAccessorIm_spOutputRefX
 
sp< SurfaceAccessorIm_spOutputRefY
 
sp< SurfaceAccessorIm_spOutputRefZ
 
sp< SurfaceAccessorIm_spOutputRefT
 
sp< SurfaceAccessorIm_spOutputAnimX
 
sp< SurfaceAccessorIm_spOutputAnimY
 
sp< SurfaceAccessorIm_spOutputAnimZ
 
sp< SurfaceAccessorIm_spOutputAnimT
 
sp< SurfaceAccessorIm_spOutputAnimS
 
sp< SurfaceAccessorIm_spOutputVertices
 
sp< SurfaceAccessorIm_spOutputProperties
 
Array< Stringm_nameList
 
std::map< String, Stringm_parentMap
 
std::map< String, std::vector< String > > m_childMap
 
std::map< String, Colorm_colorMap
 
std::map< String, SpatialVectorm_targetMap
 
std::map< String, I32 > m_childrenMap
 
std::map< String, BWORD > m_leafMap
 
std::map< String, SpatialTransformm_refMap
 
std::map< String, SpatialTransformm_refTweakMap
 
std::map< String, SpatialTransformm_animMap
 
std::map< String, SpatialTransformm_animTweakMap
 
std::map< String, SpatialVectorm_animScaleMap
 
- 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

Alembic Surface Binding.

Member Function Documentation

◆ load()

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

load model data with settings

Reimplemented from fe::ext::SurfaceAccessibleJoint.


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