7 #ifndef __surface_SurfaceAccessorRecord_h__ 8 #define __surface_SurfaceAccessorRecord_h__ 28 using SurfaceAccessorBase::set;
29 using SurfaceAccessorBase::append;
30 using SurfaceAccessorBase::spatialVector;
33 virtual void setWritable(BWORD a_writable);
35 virtual U32 count(
void)
const;
36 virtual U32 subCount(U32 a_index)
const;
38 virtual String type(
void)
const;
40 virtual void set(U32 a_index,U32 a_subIndex,
String a_string);
41 virtual String string(U32 a_index,U32 a_subIndex=0);
43 virtual void set(U32 a_index,U32 a_subIndex,I32 a_integer);
44 virtual I32 integer(U32 a_index,U32 a_subIndex=0);
46 virtual void append(U32 a_index,I32 a_integer);
47 virtual I32 append(I32 a_integer,SurfaceAccessibleI::Form a_form);
48 virtual I32 append(SurfaceAccessibleI::Form a_form);
51 virtual void remove(U32 a_index,I32 a_integer=0);
53 virtual void set(U32 a_index,U32 a_subIndex,Real a_real);
54 virtual Real real(U32 a_index,U32 a_subIndex=0);
56 virtual void set(U32 a_index,U32 a_subIndex,
58 virtual SpatialVector spatialVector(U32 a_index,U32 a_subIndex=0);
60 const Vector2i* a_pIndexArray,I32 a_arrayCount);
62 BWORD bind(SurfaceAccessibleI::Element a_element,
63 SurfaceAccessibleI::Attribute a_attribute)
65 m_attribute=a_attribute;
70 case SurfaceAccessibleI::e_generic:
71 case SurfaceAccessibleI::e_position:
74 case SurfaceAccessibleI::e_normal:
77 case SurfaceAccessibleI::e_uv:
80 case SurfaceAccessibleI::e_color:
83 case SurfaceAccessibleI::e_vertices:
91 case SurfaceAccessibleI::e_properties:
100 return bindInternal(a_element,name);
102 BWORD bind(SurfaceAccessibleI::Element a_element,
106 m_attribute=SurfaceAccessibleI::e_generic;
111 m_attribute=SurfaceAccessibleI::e_position;
116 m_attribute=SurfaceAccessibleI::e_normal;
121 m_attribute=SurfaceAccessibleI::e_uv;
126 m_attribute=SurfaceAccessibleI::e_color;
129 return bindInternal(a_element,name);
133 { m_weakRecord=a_rRecord; }
137 virtual BWORD bindInternal(SurfaceAccessibleI::Element a_element,
141 void ensureType(
String a_attrType);
142 BWORD ensurePrimitiveArray(
void);
143 void ensureGroupSetRecord(BWORD a_create);
144 I32 ensureVertex(U32 a_index,U32 a_subIndex);
145 BWORD ensurePointRV(
void);
kernel
Definition: namespace.dox:3
RecordView Iteration over a RecordArray.
Definition: RecordArrayView.h:37
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 for a Record-based Surface.
Definition: SurfaceAccessorRecord.h:20
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192
Non-persistent reference to an instance of a Layout.
Definition: WeakRecordSB.h:17