impexp.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: impexp.h
00004 
00005     DESCRIPTION: Includes for importing and exporting geometry files
00006 
00007     CREATED BY: Tom Hudson
00008 
00009     HISTORY: Created 26 December 1994
00010 
00011  *> Copyright (c) 1994, All Rights Reserved.
00012  **********************************************************************/
00013 
00014 
00015 #pragma once
00016 
00017 #include <WTypes.h>
00018 #include "maxheap.h"
00019 #include "buildver.h"
00020 #include "strbasic.h"
00021 
00022 // forward declarations
00023 class ImpInterface;
00024 class ExpInterface;
00025 class Interface;
00026 
00027 // Returned by DoImport, DoExport
00028 #define IMPEXP_FAIL 0
00029 #define IMPEXP_SUCCESS 1
00030 #define IMPEXP_CANCEL 2
00031 
00032 // SceneImport::ZoomExtents return values
00033 #define ZOOMEXT_NOT_IMPLEMENTED -1      // The default (uses Preferences value)
00034 #define ZOOMEXT_YES             TRUE    // Zoom extents after import
00035 #define ZOOMEXT_NO              FALSE   // No zoom extents
00036 
00037 // The scene import/export classes.  Right now, these are very similar, but this may change as things develop
00038 
00044 class SceneImport : public MaxHeapOperators
00045 {
00046 public:
00048     SceneImport() {};
00050     virtual ~SceneImport() {};
00051 
00053     virtual int             ExtCount() = 0;
00054 
00059     virtual const MCHAR *   Ext(int n) = 0;                 // Extension #n (i.e. "3DS")
00062     virtual const MCHAR *   LongDesc() = 0;                 // Long ASCII description (i.e. "Autodesk 3D Studio File")
00065     virtual const MCHAR *   ShortDesc() = 0;                // Short ASCII description (i.e. "3D Studio")
00067     virtual const MCHAR *   AuthorName() = 0;               // ASCII Author name
00068 
00070     virtual const MCHAR *   CopyrightMessage() = 0;         // ASCII Copyright message
00072     virtual const MCHAR *   OtherMessage1() = 0;            // Other message #1
00074     virtual const MCHAR *   OtherMessage2() = 0;            // Other message #2
00077     virtual unsigned int    Version() = 0;                  // Version number * 100 (i.e. v3.01 = 301)
00078 
00083     virtual void            ShowAbout(HWND hWnd) = 0;       // Show DLL's "About..." box
00084 
00105     virtual int             DoImport(const MCHAR *name,ImpInterface *ii,Interface *i, BOOL suppressPrompts=FALSE) = 0;  // Import file
00106 
00123     virtual int             ZoomExtents() { return ZOOMEXT_NOT_IMPLEMENTED; }   // Override this for zoom extents control
00124     };
00125 
00126 // SceneExport::DoExport options flags:
00127 #define SCENE_EXPORT_SELECTED (1<<0)
00128 
00134 class SceneExport : public MaxHeapOperators
00135 {
00136 public:
00138     SceneExport() {};
00140     virtual ~SceneExport() {};
00142     virtual int             ExtCount() = 0;
00143 
00148     virtual const MCHAR *   Ext(int n) = 0;                 // Extension #n (i.e. "3DS")
00151     virtual const MCHAR *   LongDesc() = 0;                 // Long ASCII description (i.e. "Autodesk 3D Studio File")
00152 
00155     virtual const MCHAR *   ShortDesc() = 0;                // Short ASCII description (i.e. "3D Studio")
00156 
00158     virtual const MCHAR *   AuthorName() = 0;               // ASCII Author name
00160     virtual const MCHAR *   CopyrightMessage() = 0;         // ASCII Copyright message
00162     virtual const MCHAR *   OtherMessage1() = 0;            // Other message #1
00163 
00165     virtual const MCHAR *   OtherMessage2() = 0;            // Other message #2
00168     virtual unsigned int    Version() = 0;                  // Version number * 100 (i.e. v3.01 = 301)
00173     virtual void            ShowAbout(HWND hWnd) = 0;       // Show DLL's "About..." box
00174 
00202     virtual int             DoExport(const MCHAR *name,ExpInterface *ei,Interface *i, BOOL suppressPrompts=FALSE, DWORD options=0) = 0; // Export file
00203 
00224     virtual BOOL            SupportsOptions(int ext, DWORD options) { UNUSED_PARAM(ext); UNUSED_PARAM(options); return FALSE;} 
00225 };
00226 
00227