7 #ifndef __opencl_SurfaceAccessorOpenCL_h__ 8 #define __opencl_SurfaceAccessorOpenCL_h__ 30 using SurfaceAccessorBase::set;
31 using SurfaceAccessorBase::append;
32 using SurfaceAccessorBase::spatialVector;
35 virtual U32 count(
void)
const;
36 virtual U32 subCount(U32 a_index)
const;
38 virtual void set(U32 a_index,U32 a_subIndex,
String a_string);
39 virtual String string(U32 a_index,U32 a_subIndex=0);
41 virtual void set(U32 a_index,U32 a_subIndex,I32 a_integer);
42 virtual I32 integer(U32 a_index,U32 a_subIndex=0);
44 virtual I32 append(I32 a_integer);
45 virtual I32 append(
void);
46 virtual I32 append(SurfaceAccessibleI::Form a_form);
47 virtual void append(U32 a_index,I32 a_integer);
50 virtual void set(U32 a_index,U32 a_subIndex,Real a_real);
51 virtual Real real(U32 a_index,U32 a_subIndex=0);
53 virtual void set(U32 a_index,U32 a_subIndex,
55 virtual SpatialVector spatialVector(U32 a_index,U32 a_subIndex=0);
57 BWORD bind(SurfaceAccessibleI::Element a_element,
58 SurfaceAccessibleI::Attribute a_attribute)
60 m_attribute=a_attribute;
65 case SurfaceAccessibleI::e_generic:
69 case SurfaceAccessibleI::e_position:
72 case SurfaceAccessibleI::e_normal:
75 case SurfaceAccessibleI::e_uv:
78 case SurfaceAccessibleI::e_color:
81 case SurfaceAccessibleI::e_vertices:
89 case SurfaceAccessibleI::e_properties:
98 return bindInternal(a_element,name);
100 BWORD bind(SurfaceAccessibleI::Element a_element,
104 m_attribute=SurfaceAccessibleI::e_generic;
108 m_attribute=SurfaceAccessibleI::e_position;
112 m_attribute=SurfaceAccessibleI::e_normal;
116 m_attribute=SurfaceAccessibleI::e_uv;
120 m_attribute=SurfaceAccessibleI::e_color;
123 return bindInternal(a_element,name);
128 virtual BWORD bindInternal(SurfaceAccessibleI::Element a_element,
131 void setAttrType(
String a_attrType);
133 void ensureBufferSize(
134 SurfaceAccessibleOpenCL::Bridge* a_pBridge,
135 I32 a_minSize,I32 a_sizeof);
137 I32 pointIndexForVertex(U32 a_index,U32 a_subIndex);
141 const SurfaceAccessibleOpenCL::Bridge* m_pBridgeConst;
142 const SurfaceAccessibleOpenCL::Bridge* m_pPositionBridgeConst;
143 const SurfaceAccessibleOpenCL::Bridge* m_pVertStartBridgeConst;
144 const SurfaceAccessibleOpenCL::Bridge* m_pVertCountBridgeConst;
145 const SurfaceAccessibleOpenCL::Bridge* m_pVertPointBridgeConst;
147 SurfaceAccessibleOpenCL::Bridge* m_pBridge;
148 SurfaceAccessibleOpenCL::Bridge* m_pPositionBridge;
149 SurfaceAccessibleOpenCL::Bridge* m_pVertStartBridge;
150 SurfaceAccessibleOpenCL::Bridge* m_pVertCountBridge;
151 SurfaceAccessibleOpenCL::Bridge* m_pVertPointBridge;
kernel
Definition: namespace.dox:3
Common Functionality for Accessor Surface.
Definition: SurfaceAccessorBase.h:20
Automatically reference-counted string container.
Definition: String.h:128
Wrapper for std::vector.
Definition: Array.h:21
Accessor backed with a OpenCL.
Definition: SurfaceAccessorOpenCL.h:22
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192