xsi_renderhairaccessor.h
Go to the documentation of this file.

    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__