00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSIRENDERHAIRACCESSOR_H__
00018 #define __XSIRENDERHAIRACCESSOR_H__
00019
00020 #include <xsi_base.h>
00021 #include <xsi_status.h>
00022
00023 namespace XSI {
00024
00025 class CFloatArray;
00026 class CLongArray;
00027
00028
00190
00191
00192 class SICPPSDKDECL CRenderHairAccessor : public CBase
00193 {
00194 public:
00196 CRenderHairAccessor();
00197
00199 ~CRenderHairAccessor();
00200
00204 CRenderHairAccessor(const CRef& in_ref);
00205
00209 CRenderHairAccessor(const CRenderHairAccessor& in_obj);
00210
00215 bool IsA( siClassID in_ClassID) const;
00216
00220 siClassID GetClassID() const;
00221
00227 CRenderHairAccessor& operator=(const CRenderHairAccessor& in_obj);
00228
00234 CRenderHairAccessor& operator=(const CRef& in_ref);
00235
00247 bool Next();
00248
00253 CStatus Reset();
00254
00264 LONG GetRequestedChunkSize() const;
00265
00273 LONG GetRequestedHairCount() const;
00274
00282 LONG GetChunkHairCount() const;
00283
00293 CStatus GetVerticesCount(CLongArray& out_values) const;
00294
00306 CStatus GetVertexPositions(CFloatArray& out_values) const;
00307
00319 CStatus GetVertexRadiusValues(CFloatArray& out_values) const;
00320
00327 CStatus GetHairSurfaceNormalValues(CFloatArray &out_values) const;
00328
00333 LONG GetUVCount() const;
00334
00339 LONG GetVertexColorCount() const;
00340
00345 LONG GetWeightMapCount() const;
00346
00354 CString GetUVName( LONG in_nIdx ) const;
00355
00363 CString GetVertexColorName( LONG in_nIdx ) const;
00364
00372 CString GetWeightMapName( LONG in_nIdx ) const;
00373
00387 CStatus GetUVValues( LONG in_nIdx, CFloatArray& out_values ) const;
00388
00402 CStatus GetVertexColorValues( LONG in_nIdx, CFloatArray& out_values ) const;
00403
00417 CStatus GetWeightMapValues( LONG in_nIdx, CFloatArray& out_values ) const;
00418
00419 private:
00420 CRenderHairAccessor * operator&() const;
00421 CRenderHairAccessor * operator&();
00422 };
00423
00424 };
00425 #endif // __XSIRENDERHAIRACCESSOR_H__