7 #ifndef __ptex_SurfaceAccessorPtex_h__ 8 #define __ptex_SurfaceAccessorPtex_h__ 25 { setName(
"SurfaceAccessorPtex"); }
28 using SurfaceAccessorBase::set;
29 using SurfaceAccessorBase::spatialVector;
32 BWORD bind(SurfaceAccessibleI::Element a_element,
33 SurfaceAccessibleI::Attribute a_attribute)
35 m_attribute=a_attribute;
40 case SurfaceAccessibleI::e_generic:
41 case SurfaceAccessibleI::e_position:
44 case SurfaceAccessibleI::e_normal:
47 case SurfaceAccessibleI::e_uv:
50 case SurfaceAccessibleI::e_color:
53 case SurfaceAccessibleI::e_vertices:
54 m_attrName=
"vertices";
56 SurfaceAccessibleI::e_primitive);
59 case SurfaceAccessibleI::e_properties:
60 m_attrName=
"properties";
62 SurfaceAccessibleI::e_primitive);
66 return bindInternal(a_element,name);
68 BWORD bind(SurfaceAccessibleI::Element a_element,
71 m_attribute=SurfaceAccessibleI::e_generic;
75 m_attribute=SurfaceAccessibleI::e_position;
79 m_attribute=SurfaceAccessibleI::e_normal;
83 m_attribute=SurfaceAccessibleI::e_uv;
87 m_attribute=SurfaceAccessibleI::e_color;
90 return bindInternal(a_element,a_name);
92 virtual U32 count(
void)
const 95 m_element!=SurfaceAccessibleI::e_point ||
97 SurfaceAccessibleI::e_position &&
103 return (*m_pTexelArray).size();
105 virtual U32 subCount(U32 a_index)
const 108 virtual void set(U32 a_index,U32 a_subIndex,
String a_string) {}
109 virtual String string(U32 a_index,U32 a_subIndex=0)
112 virtual void set(U32 a_index,U32 a_subIndex,I32 a_integer) {}
113 virtual I32 integer(U32 a_index,U32 a_subIndex=0)
116 virtual void set(U32 a_index,U32 a_subIndex,Real a_real) {}
117 virtual Real real(U32 a_index,U32 a_subIndex=0)
120 virtual void set(U32 a_index,U32 a_subIndex,
122 virtual SpatialVector spatialVector(U32 a_index,U32 a_subIndex=0)
129 if(m_element!=SurfaceAccessibleI::e_point)
134 if(m_attribute==SurfaceAccessibleI::e_position)
136 return (*m_pTexelArray)[a_index].m_location;
141 return (*m_pTexelArray)[a_index].m_color;
150 { m_pTexelArray=a_pTexelArray; }
154 virtual BWORD bindInternal(SurfaceAccessibleI::Element a_element,
158 if(m_attribute==SurfaceAccessibleI::e_generic)
163 if(a_element<0 && a_element>5)
165 a_element=SurfaceAccessibleI::e_point;
174 BWORD isBound(
void)
const 175 {
return (m_pTexelArray!=NULL); }
kernel
Definition: namespace.dox:3
Accessor for Ptex Texels.
Definition: SurfaceAccessorPtex.h:19
Common Functionality for Accessor Surface.
Definition: SurfaceAccessorBase.h:20
Automatically reference-counted string container.
Definition: String.h:128