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

Maya Surface Editing Implementation. More...

#include <SurfaceAccessorMaya.h>

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

Public Types

enum  PolyFormat {
  e_unknown,
  e_closedPoly,
  e_openPoly,
  e_freePoint
}
 

Public Member Functions

BWORD bind (SurfaceAccessibleI::Element a_element, SurfaceAccessibleI::Attribute a_attribute)
 
BWORD bind (SurfaceAccessibleI::Element a_element, const String &a_name)
 
virtual String type (void) const
 
virtual U32 count (void) const
 
virtual U32 subCount (U32 a_index) const
 
virtual void set (U32 a_index, U32 a_subIndex, String a_string)
 
virtual String string (U32 a_index, U32 a_subIndex=0)
 
virtual void set (U32 a_index, U32 a_subIndex, I32 a_integer)
 
virtual I32 integer (U32 a_index, U32 a_subIndex=0)
 
virtual I32 duplicate (U32 index, U32 subIndex=0)
 
virtual I32 append (SurfaceAccessibleI::Form a_form)
 
virtual I32 append (I32 a_integer, SurfaceAccessibleI::Form a_form)
 
virtual void append (U32 a_index, I32 a_integer)
 
virtual void append (Array< Array< I32 > > &a_rPrimVerts)
 
virtual void remove (U32 a_index, I32 a_integer)
 
virtual void set (U32 a_index, U32 a_subIndex, Real a_real)
 
virtual Real real (U32 a_index, U32 a_subIndex=0)
 
virtual void set (U32 a_index, U32 a_subIndex, const SpatialVector &a_vector)
 
virtual SpatialVector spatialVector (U32 a_index, U32 a_subIndex=0)
 
void setMeshNode (const MObject a_meshNode)
 
void setMeshData (const MDataHandle a_meshData)
 
const MDataHandle meshData (void)
 
void setGroupIt (MItGeometry *a_pGroupIt)
 
void clearTransform (void)
 
void setTransform (SpatialTransform a_transform)
 
void setMaster (sp< Master > a_spMaster)
 
- Public Member Functions inherited from fe::ext::SurfaceAccessorBase
virtual BWORD writable (void) const
 
virtual void setWritable (BWORD a_writable)
 
virtual void set (U32 a_index, String a_string)
 
virtual void set (U32 a_index, I32 a_integer)
 
virtual I32 append (void)
 
virtual I32 append (I32 a_integer)
 
virtual void set (U32 a_index, Real a_real)
 
virtual void set (U32 a_index, const SpatialVector &a_vector)
 
virtual BWORD spatialVector (SpatialVector *a_pVectorArray, const Vector2i *a_pIndexArray, I32 a_arrayCount)
 
virtual void fragmentWith (SurfaceAccessibleI::Element a_element, String a_attributeName, String a_groupName)
 
virtual U32 fragmentCount (void) const
 
virtual String fragment (U32 a_index) const
 
virtual BWORD filterWith (String a_filterString, sp< SurfaceAccessibleI::FilterI > &a_rspFilter) const
 
void setSurfaceAccessible (sp< SurfaceAccessibleI > a_spSurfaceAccessibleI)
 
virtual SurfaceAccessibleI::Element element (void)
 
virtual SurfaceAccessibleI::Attribute attribute (void)
 
virtual String attributeName (void)
 
virtual void appendGroupSpans (SpannedRange::MultiSpan &a_rMultiSpan)
 
- 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 typeOfFormat (String a_format)
 
static MFn::Type componentTypeOfElement (SurfaceAccessibleI::Element a_element)
 
static String readDetailAt (MDataHandle a_meshData, I32 a_id)
 
static void writeDetailAt (MDataHandle a_meshData, I32 a_id, const String &a_rString)
 
static void removeDetailAt (MDataHandle a_meshData, I32 a_id)
 
static BWORD removeDetailFor (MDataHandle a_meshData, String a_name)
 
static I32 findDetailKey (MDataHandle a_meshData, const String &a_rKey, BWORD a_createMissing)
 
static void dumpDetail (MDataHandle a_meshData)
 
- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 

Private Member Functions

virtual BWORD bindInternal (SurfaceAccessibleI::Element a_element, const String &a_name)
 
void cacheShaders (void)
 
void cacheTexture (String a_textureName)
 
void updateGroupList (void)
 
void checkBlindDataID (const String &a_attrType)
 
void assureBlindDataID (const String &a_attrType)
 
String getBlindFormat (String a_attrName)
 
I32 getBlindDataID (String a_attrName, String a_attrType, BWORD &a_rFound)
 
I32 createBlindDataID (String a_attrName, String a_attrType)
 
void checkPolyFormatID (void)
 
void assurePolyFormatID (void)
 
PolyFormat polyFormat (U32 a_index) const
 
PolyFormat guessPolyFormat (void) const
 
U32 polyVertCount (U32 a_index) const
 
U32 vertexCount (void) const
 
U32 countVertices (void) const
 
void resetMark (void)
 
U32 logicalVertex (U32 a_rawVertex)
 
U32 rawVertex (U32 a_logicalVertex)
 
U32 twinVertex (U32 a_logicalVertex)
 
MFn::Type componentType (void)
 
void setDetail (const String &a_rKey, const String &a_rValue)
 
String getDetail (const String &a_rKey)
 
void initializeFaceVertArray (void)
 

Private Attributes

Array< Array< FaceVert > > m_faceVertTable
 
U32 m_markPoly
 
U32 m_markVertex
 
U32 m_markRawVertex
 
PolyFormat m_cachePolyFormat
 
sp< Masterm_spMaster
 
MObject m_meshNode
 
MDataHandle m_meshData
 
MFnMesh * m_pFnMesh
 
I32 m_blindDataID
 
I32 m_polyFormatID
 
MItGeometry * m_pGroupIt
 
Array< I32 > m_groupList
 
BWORD m_useTransform
 
SpatialTransform m_transform
 
SpatialTransform m_inverse
 
Stringm_pStringCache
 
I32 * m_pIntegerCache
 
Real * m_pRealCache
 
SpatialVectorm_pSpatialVectorCache
 
BWORD * m_pBooleanCache
 

Additional Inherited Members

- 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)
 
- Protected Attributes inherited from fe::ext::SurfaceAccessorBase
BWORD m_writable
 
SurfaceAccessibleI::Element m_element
 
SurfaceAccessibleI::Attribute m_attribute
 
String m_attrName
 
String m_attrType
 
sp< SurfaceAccessibleIm_spSurfaceAccessibleI
 

Detailed Description

Maya Surface Editing Implementation.

Currently, this only supports poly meshes. We need to add NURBS support here or in a different class.


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