Visibility.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 *
00018 * File:          Visibility.h
00019 * Creation date: January 15, 2002
00020 * Purpose:       Declaration of class 'Visibility'
00021 *
00022 \******************************************************************************/
00023 #ifndef _VISIBILITY_H
00024 #define _VISIBILITY_H
00025 
00026 #include "Template.h"
00027 
00035 class XSIEXPORT CSLVisibility
00036     : public CSLTemplate
00037 {
00038 public:
00039     CSLVisibility(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00040     virtual ~CSLVisibility();
00041 
00045     SI_Bool GetVisibility();
00046 
00051     SI_Void SetVisibility(SI_Bool in_rValue);
00052 
00053     CSLBoolProxy*   GetVisibilityProxy() { return &m_Visiblility;};
00054 
00055     virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName);
00056     virtual CSLAnimatableType* ParameterFromType(EFCurveType in_Type, SI_Char *in_szParameterName);
00057     virtual ETemplateType Type();
00058 
00059 private:
00060     CSLBoolProxy m_Visiblility;
00061 
00062     void *m_pReserved;  // reserved for future extension
00063 };
00064 
00065 #endif