Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HModelInfo.h
00001 //
00002 // Copyright (c) 2000 by Tech Soft 3D, LLC.
00003 // The information contained herein is confidential and proprietary to
00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under
00005 // civil and criminal statutes.  Tech Soft 3D shall pursue its civil
00006 // and criminal remedies in the event of unauthorized use or misappropriation
00007 // of its trade secrets.  Use of this information by anyone other than
00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a
00009 // written non-disclosure agreement, expressly prescribing the scope and
00010 // manner of such use.
00011 //
00012 // $Id: 50176d8ab0c1e5abd52d2f48eb6b4e0969cf9ba7 $
00013 //
00014 #ifndef _HMODELINFO_H
00015 #define _HMODELINFO_H
00016 
00017 #ifdef H_PACK_8
00018 #pragma pack(push)
00019 #pragma pack(8)
00020 #endif
00021 
00022 #include "HTools.h"
00023 
00025 
00030 class MVO_API HModelInfo 
00031 {
00032 
00033 public:
00035     HModelInfo (HC_KEY segment_key = INVALID_KEY) {m_SegmentKey=segment_key;ResetCounters();};
00036     virtual ~HModelInfo () {;};
00037 
00045     virtual void ComputeModelInfo (HC_KEY segment_key=INVALID_KEY, bool recurse=true);
00046 
00048     int         GetTotalFaces( void ) { return m_TotalFaces; }  
00050     int         GetTotalVertices( void ) { return m_TotalVertices; }
00052     int         GetTotalTriangles( void ) { return m_TotalTriangles; }
00054     int         GetTotalTristrips( void ) { return m_TotalTristrips; }
00056     int         GetTotalSegments( void ) { return m_TotalSegments; }
00058     int         GetTotalCircle( void ) { return m_TotalCircle; }
00060     int         GetTotalCircularArc( void ) { return m_TotalCircularArc; }
00062     int         GetTotalCircularChord( void ) { return m_TotalCircularChord; }
00064     int         GetTotalCircularWedge( void ) { return m_TotalCircularWedge; }
00066     int         GetTotalEllipse( void ) { return m_TotalEllipse; }
00068     int         GetTotalEllipticalArc( void ) { return m_TotalEllipticalArc; }
00070     int         GetTotalGrid( void ) { return m_TotalGrid; }
00072     int         GetTotalImage( void ) { return m_TotalImage; }
00074     int         GetTotalIncludes( void ) { return m_TotalIncludes; }
00076     int         GetTotalIncluders( void ) { return m_TotalIncluders; }
00078     int         GetTotalLine( void ) { return m_TotalLine; }
00080     int         GetTotalMarker( void ) { return m_TotalMarker; }
00082     int         GetTotalMesh( void ) { return m_TotalMesh; }
00084     int         GetTotalPolygon( void ) { return m_TotalPolygon; }
00086     int         GetTotalPolyline( void ) { return m_TotalPolyline; }
00088     int         GetTotalShell( void ) { return m_TotalShell; }
00090     int         GetTotalStringCursor( void ) { return m_TotalStringCursor; }
00092     int         GetTotalText( void ) { return m_TotalText; }
00094     int         GetTotalMatrices( void ) { return m_TotalMatrices; }
00096     int         GetTotalSpotLight( void ) { return m_TotalSpotLight; }
00098     int         GetTotalDistantLight( void ) { return m_TotalDistantLight; }
00100     int         GetTotalLocalLight( void ) { return m_TotalLocalLight; }
00102     int         GetTotalCuttingPlane( void ) { return m_TotalCuttingPlane; }
00104     int         GetTotalCylinders( void ) { return m_TotalCylinders; }
00106     int         GetTotalPolyCylinders( void ) { return m_TotalPolyCylinders; }
00108     int         GetTotalSpheres( void ) { return m_TotalSpheres; }
00110     int         GetTotalNURBSCurves( void ) { return m_TotalNURBSCurves; }
00112     int         GetTotalNURBSSurfaces( void ) { return m_TotalNURBSSurfaces; }
00114     int         GetTotalReferences( void ) { return m_TotalReferences; }
00116     int         GetTotalInfiniteLines( void ) {return m_TotalInfiniteLines; }
00118     int         GetTotalInfiniteRays( void ) {return m_TotalInfiniteRays; }
00120     int         GetTotalOthers( void ) { return m_TotalOthers; }    
00121 
00122 protected:
00123 
00129     virtual void ResetCounters();
00130 
00139     virtual void IncrementCounter (char * item_type, HC_KEY item_key); 
00141     virtual void ComputeSegmentContents(HC_KEY the_key, bool recurse=true); 
00142 
00143     HC_KEY      m_SegmentKey;        
00144 
00145     int         m_TotalFaces;        
00146     int         m_TotalVertices;     
00147     int         m_TotalTriangles;    
00148     int         m_TotalTristrips;    
00149     int         m_TotalSegments;     
00150 
00151     int         m_TotalCircle;       
00152     int         m_TotalCircularArc;  
00153     int         m_TotalCircularChord;    
00154 
00155     int         m_TotalCircularWedge;   
00156     int         m_TotalEllipse;         
00157     int         m_TotalEllipticalArc;   
00158     int         m_TotalGrid;            
00159     int         m_TotalImage;           
00160     int         m_TotalIncludes;        
00161     int         m_TotalIncluders;       
00162     int         m_TotalLine;            
00163     int         m_TotalMarker;          
00164     int         m_TotalMesh;            
00165     int         m_TotalPolygon;         
00166     int         m_TotalPolyline;        
00167     int         m_TotalShell;           
00168     int         m_TotalStringCursor;    
00169     int         m_TotalText;            
00170     int         m_TotalMatrices;        
00171     
00172     int         m_TotalSpotLight;       
00173     int         m_TotalDistantLight;    
00174     int         m_TotalLocalLight;      
00175 
00176     int         m_TotalCuttingPlane;    
00177 
00178     int         m_TotalPolyCylinders;   
00179     int         m_TotalCylinders;       
00180     int         m_TotalSpheres;         
00181     int         m_TotalNURBSCurves;     
00182     int         m_TotalNURBSSurfaces;   
00183     int         m_TotalReferences;      
00184     int         m_TotalInfiniteLines;   
00185     int         m_TotalInfiniteRays;    
00186 
00187     int         m_TotalOthers;          
00188 
00189 };
00190 
00191 
00192 #ifdef H_PACK_8
00193 #pragma pack(pop)
00194 #endif
00195 
00196 #endif
00197 
00198 
00199 
00200