UVCoordArray.h

00001 /****************************************************************************************
00002 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS".
00003 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 
00004 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
00005 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00006 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
00007 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 
00008  
00009 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 
00010 
00011 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 
00012 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other
00013 trademarks contained herein are the property of their respective owners. 
00014 ****************************************************************************************/
00015 /******************************************************************************\
00016 *
00017 * File:          UVCoordArray.h
00018 * Creation date: January 23, 2002
00019 * Purpose:       Declaration of class 'CSLUVCoordArray'
00020 *
00021 \******************************************************************************/
00022 #ifndef _UVCOORDARRAY_H
00023 #define _UVCOORDARRAY_H
00024 
00025 #include "BaseShape.h"
00026 
00034 class XSIEXPORT CSLUVCoordArray
00035 {
00036 public:
00037     CSLUVCoordArray(CdotXSITemplate *in_pTemplate, SI_Int in_nFirstIndex, CSLBaseShape::EShapeType in_Type);
00038     virtual ~CSLUVCoordArray();
00039 
00043     SI_Int                                  GetUVCoordCount();
00044 
00048     CSLBaseShape::CSLVector2DArray*         GetUVCoordList();
00049 
00053     CSIBCVector2D*                          GetUVCoordListPtr();
00054 
00058     CSLBaseShape::CSLIndexedVector2DArray*  GetIndexedUVCoordList();
00059 
00063     SLIndexedVector2D*                      GetIndexedUVCoordListPtr();
00064 
00068     SI_Char*                                GetTextureProjection();
00069 
00074     SI_Void                                 SetTextureProjection(SI_Char* in_szValue);
00075 
00079     SI_Error                                Synchronize();
00080 
00081 private:
00082     CSLIntProxy                             m_NbUVCoords;
00083     CSLStringProxy                          m_TextureProjection;
00084     CSLBaseShape::CSLVector2DArray*         m_pUVCoords;
00085     CSLBaseShape::CSLIndexedVector2DArray*  m_pIndexedUVCoords;
00086 
00087     void *m_pReserved;  // reserved for future extension
00088     CSIBCVector2D*                                  GetUVCoords();
00089 };
00090 
00091 #endif