00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223 #ifndef INC_MI32_RVCDEFNS_H
00224 #define INC_MI32_RVCDEFNS_H
00225
00226 #if defined (__cplusplus)
00227
00228 #ifndef INC_MI32_STDDEFNS_H
00229 #include <mi32/stddefns.h>
00230 #endif
00231
00232 #ifndef INC_MI32_FIXEDSTR_H
00233 #include <mi32/fixedstr.h>
00234 #endif
00235
00236 #ifndef INC_MI32_FILEPATH_H
00237 #include <mi32/filepath.h>
00238 #endif
00239
00240 #ifndef INC_MI32_RECT_H
00241 #include <mi32/rect.h>
00242 #endif
00243
00244 #ifndef INC_MI32_MCB_H
00245 #include <mi32/mcb.h>
00246 #endif
00247
00248 #ifndef INC_RVC_OBJTYPE_H
00249 #include <rvc/objtype.h>
00250 #endif
00251
00252
00253 #ifdef RVCLOWDLL
00254 #define RVCLOWLIBEXPORT MI_DLLEXPORT
00255 #else
00256 #define RVCLOWLIBEXPORT MI_DLLIMPORT
00257 #endif
00258
00259 #ifdef RVCAPPDLL
00260 #define RVCAPPLIBEXPORT MI_DLLEXPORT
00261 #define RVCAPPCLASSEXPORT MI_DLLCLASSEXPORT
00262 #else
00263 #define RVCAPPLIBEXPORT MI_DLLIMPORT
00264 #define RVCAPPCLASSEXPORT MI_DLLCLASSIMPORT
00265 #endif
00266
00267 #include <mi32/hdrtypes.h>
00268
00269
00270 struct RVCCADINFO;
00271 struct RVCRASTINFO;
00272 struct RVCTININFO;
00273 struct RVCVECTINFO;
00274 struct TEXTSTYLE;
00275 struct TRANSPARM;
00276 class POLYLINE;
00277
00278 namespace RVC {
00279 class OBJTYPESET;
00280 class OBJECT;
00281 class OBJITEM;
00282 class OPENOBJECT;
00283 typedef MILIST<OBJITEM> OBJITEMLIST;
00284 }
00285
00286
00287 #define MfValidNameChar(c) ((c)=='_'||(c)>='A'&&(c)<='Z'||(c)>='a'&&(c)<='z'||(c)>='0'&&(c)<='9'||(c)>=160)
00288 #define FOLDERSEPARATOR ' '
00289 #define OBJTYPESEPARATOR '.'
00290
00291
00292
00293
00294
00295 #define RVCMODE_Mask 0x7F000000
00296 #define RVCMODE_WriteAttempt 0x10000000
00297 #define RVCMODE_Read 0x40000000
00298 #define RVCMODE_Write 0x20000000
00299 #define RVCMODE_RW 0x60000000
00300 #define RVCMODE_RWAttempt 0x70000000
00301 #define RVCMODE_ReadAhead 0x08000000
00302 #define RVCMODE_Bogus 0x04000000
00303
00304
00305 #define RVCFILE_OpenMask 0x000000FF
00306 #define RVCFILE_ReadLock 0x00000001
00307 #define RVCFILE_WriteLock 0x00000002
00308 #define RVCFILE_WriteLockAttempt 0x00000004
00309 #define RVCFILE_SharedLock 0x00000008
00310 #define RVCFILE_NoLock 0x00000010
00311 #define RVCFILE_ReadAbsolute 0x00000020
00312 #define RVCFILE_NoDialog 0x00000040
00313 #define RVCFILE_WriteAbsolute 0x00000080
00314
00315 #define RVCFILE_TempFileMask 0x0000FF00
00316 #define RVCFILE_DeleteOnClose 0x00000100
00317 #define RVCFILE_DeleteOnExit 0x00000200
00318 #define RVCFILE_NoDelete 0x00000800
00319
00320 #define RVCFILE_ForceUnlockBtn 0x00040000
00321
00322
00323
00324
00325
00326
00327 #define OTYPE_ALL 0
00328 #define OTYPE_FILE 1
00329 #define OTYPE_FOLDER 2
00330 #define OTYPE_RASTER 3
00331 #define OTYPE_VECTOR 4
00332 #define OTYPE_CAD 5
00333 #define OTYPE_DBASE 6
00334 #define OTYPE_STYLE 7
00335 #define OTYPE_DBQUERY 8
00336 #define OTYPE_FILTER 9
00337 #define OTYPE_VIDEOSEQ 10
00338 #define OTYPE_PRTCOLORBAL 30
00339 #define OTYPE_DISP_GROUP 37
00340 #define OTYPE_DISP2DWINDOW 38
00341 #define OTYPE_TIN 39
00342 #define OTYPE_LEGEND 41
00343 #define OTYPE_REGION 45
00344 #define OTYPE_DISP_LAYOUT 54
00345 #define OTYPE_SML 55
00346 #define OTYPE_SPECTRAL 56
00347 #define OTYPE_RASTERSET 57
00348 #define OTYPE_DISP_SIM3D 59
00349 #define OTYPE_HYPERSPECTRAL 60
00350 #define OTYPE_LAYOUTTEMPLATE 65
00351 #define OTYPE_THUMBNAIL 66
00352 #define OTYPE_HOUGHPARMS 71
00353
00354
00355
00356 #define OTYPE_GEOREF 11
00357 #define OTYPE_PAGELAYOUT 12
00358 #define OTYPE_HYPER 13
00359 #define OTYPE_DBFORM 14
00360 #define OTYPE_TIEPOINT 15
00361 #define OTYPE_DISPPARM 40
00362 #define OTYPE_TEXT 42
00363 #define OTYPE_ASSOCIATION 46
00364 #define OTYPE_QTREE 47
00365 #define OTYPE_DBPARM 48
00366 #define OTYPE_THEME 49
00367
00368 #define OTYPE_EDITPARM 53
00369 #define OTYPE_SPATIALTREEOLD 67
00370 #define OTYPE_SPATIALTREEOLD2 69
00371 #define OTYPE_SPATIALTREE 70
00372
00373
00374
00375 #define OTYPE_HISTO 16
00376 #define OTYPE_CONTAB 17
00377 #define OTYPE_2DHISTINFO 18
00378 #define OTYPE_COLMAP 19
00379 #define OTYPE_RASTDBASE 20
00380 #define OTYPE_FREQPROCINFO 21
00381 #define OTYPE_RASTERTREND 22
00382 #define OTYPE_SPOTHEADER 23
00383 #define OTYPE_CAMERACALIB 24
00384 #define OTYPE_SENSORINFOOLD 58
00385 #define OTYPE_HYPERHIST 62
00386 #define OTYPE_HYPERSENSOR 63
00387 #define OTYPE_SENSORINFO 64
00388
00389
00390 #define OTYPE_POINTDBASE 25
00391 #define OTYPE_LINEDBASE 26
00392 #define OTYPE_POLYDBASE 27
00393 #define OTYPE_NODEDBASE 28
00394 #define OTYPE_VECTDBASE 44
00395
00396
00397 #define OTYPE_CADDBASE 29
00398
00399
00400
00401
00402
00403 #define OTYPE_TINDBASE 43
00404
00405
00406
00407 #define OTYPE_INVDBLIST 52
00408 #define OTYPE_DBCONSTRAINT 61
00409 #define OTYPE_DBINDEX 68
00410
00411
00412 #define OTYPE_PRINTDEF 31
00413 #define OTYPE_PLOTDEF 32
00414 #define OTYPE_OFONT 33
00415 #define OTYPE_GENERICREF 34
00416 #define OTYPE_SCANDEF 35
00417 #define OTYPE_XYDIGDEF 36
00418
00419 #define OTYPE_LAST 75
00420
00421 #define RVCCONV_RASTER RVCCONV_RastInfo
00422 #define RVCCONV_CAD RVCCONV_CADInfo
00423 #define RVCCONV_HISTO RVCCONV_HistInfo
00424 #define RVCCONV_CONTAB RVCCONV_ConTab
00425 #define RVCCONV_COLMAP RVCCONV_CMapInfo
00426 #define RVCCONV_DBASE RVCCONV_DbaseInfo
00427 #define RVCCONV_GEOREF RVCCONV_GeoRefInfo
00428 #define RVCCONV_VECTOR RVCCONV_VectInfo
00429 #define RVCCONV_TIEPOINT RVCCONV_TiePointInfo
00430 #define RVCCONV_TIN RVCCONV_TINInfo
00431 #define RVCCONV_CAMERACALIB RVCCONV_CameraInfo
00432 #define RVCCONV_FILTER RVCCONV_FiltInfo
00433 #define RVCCONV_STYLE RVCCONV_StyleInfo
00434 #define RVCCONV_REGION RVCCONV_RegionInfo
00435 #define RVCCONV_DISP2DWINDOW 0
00436 #define RVCCONV_DISP2DGROUP 0
00437
00438
00439
00440
00441
00442 struct RVCDATETIME {
00443 UINT8 year;
00444 UINT8 month;
00445 UINT8 day;
00446 UINT8 hour;
00447 UINT8 minute;
00448 UINT8 second;
00449 UINT16 count;
00450 };
00451
00452 namespace RVC {
00453
00454 typedef FIXEDSTRING<16> OBJECTNAME, OBJECTSOURCE;
00455 typedef FIXEDSTRING<64> OBJECTDESC;
00456
00457 }
00458
00459 typedef RVC::OBJECTNAME RVCOBJECTNAME;
00460 typedef RVC::OBJECTSOURCE RVCOBJECTSOURCE;
00461 typedef RVC::OBJECTDESC RVCOBJECTDESC;
00462
00463
00464 struct RVCBASICINFO {
00465 RVC::OBJECTNAME name;
00466 RVC::OBJECTDESC desc;
00467 RVCDATETIME create;
00468 RVCDATETIME lastmod;
00469 RVCDATETIME lastused;
00470 RVC::OBJECTSOURCE source;
00471
00472 RVCBASICINFO (
00473 ) {Clear();}
00474
00475 void Clear (
00476 ) {memset(static_cast<void*>(this), 0, sizeof(*this));}
00477
00478 bool IsEqual (
00479 const RVCBASICINFO& rhs
00480 ) const {return (memcmp(static_cast<const void*>(this), static_cast<const void*>(&rhs), sizeof(*this)) == 0);}
00481
00482 };
00483
00484 inline bool operator== (
00485 const RVCBASICINFO& lhs,
00486 const RVCBASICINFO& rhs
00487 ) {return (lhs.IsEqual(rhs));}
00488
00489 inline bool operator!= (
00490 const RVCBASICINFO& lhs,
00491 const RVCBASICINFO& rhs
00492 ) {return (!lhs.IsEqual(rhs));}
00493
00494
00495
00496 struct RVCGENINFO : public RVCBASICINFO {
00497 UINT32 objtype;
00498 RVCINODENUM objectinode;
00499 RVCINODENUM parentinode;
00500 INT32 Size;
00501
00502 RVCGENINFO (
00503 ) {Clear();}
00504
00505 void Clear (
00506 ) {memset(static_cast<void*>(this), 0, sizeof(*this));}
00507
00508 RVC::OBJTYPE GetObjectType (
00509 ) const { return (static_cast<RVC::OBJTYPE>(this->objtype)); }
00510 };
00511
00512
00513 struct RVCARRAYINFO : public RVCGENINFO {
00514 INT32 NumItems;
00515 INT32 ItemSize;
00516
00517 RVCARRAYINFO (
00518 ) {Clear();}
00519
00520 RVCARRAYINFO (
00521 const RVCGENINFO& ginfo
00522 ) {Clear();*static_cast<RVCGENINFO*>(this) = ginfo;}
00523
00524 RVCARRAYINFO& operator= (
00525 const RVCGENINFO& ginfo
00526 ) {*static_cast<RVCGENINFO*>(this) = ginfo; return (*this);}
00527
00528 void Clear (
00529 ) {memset(static_cast<void*>(this), 0, sizeof(*this));}
00530
00531 };
00532
00533
00534 struct RVCGENLISTINFO : public RVCGENINFO {
00535 INT32 NumItems;
00536 INT32 MaxItemSize;
00537
00538 RVCGENLISTINFO (
00539 ) {Clear();}
00540
00541 RVCGENLISTINFO (
00542 const RVCGENINFO& ginfo
00543 ) {Clear();*static_cast<RVCGENINFO*>(this) = ginfo;}
00544
00545 RVCGENLISTINFO& operator= (
00546 const RVCGENINFO& ginfo
00547 ) {*static_cast<RVCGENINFO*>(this) = ginfo; return (*this);}
00548
00549 void Clear (
00550 ) {memset(static_cast<void*>(this), 0, sizeof(*this));}
00551
00552 };
00553
00554
00555 PREVENT_MEMFUNC(RVCBASICINFO)
00556 PREVENT_MEMFUNC(RVCGENINFO)
00557 PREVENT_MEMFUNC(RVCARRAYINFO)
00558 PREVENT_MEMFUNC(RVCGENLISTINFO)
00559
00560
00561
00562 struct RVCLINKDATAEX {
00563 FILEPATH m_FilePath;
00564 MISTRING m_ObjName;
00565
00566 bool IsEqual (
00567 const RVCLINKDATAEX& rhs
00568 ) const {return (m_FilePath == rhs.m_FilePath && m_ObjName == rhs.m_ObjName);}
00569
00570 };
00571
00572 inline bool operator== (
00573 const RVCLINKDATAEX& lhs,
00574 const RVCLINKDATAEX& rhs
00575 ) {return (lhs.IsEqual(rhs));}
00576
00577 inline bool operator!= (
00578 const RVCLINKDATAEX& lhs,
00579 const RVCLINKDATAEX& rhs
00580 ) {return (!lhs.IsEqual(rhs));}
00581
00582
00583 namespace RVC {
00584
00585 struct LINKITEM {
00586 FILEPATH m_Filename;
00587 MISTRING m_ObjName;
00588 OBJTYPE m_ObjType;
00589 RVCINODENUM m_SrcInode;
00590
00591 LINKITEM (
00592 ) :
00593 m_ObjType(OBJTYPE_All),
00594 m_SrcInode(-1)
00595 {}
00596
00597 };
00598
00599 class FILEHANDLE;
00600
00601 }
00602
00603
00604
00605 struct RVCGUIFUNCS {
00606 INT32 size;
00607 int (*GetFile)(void*, MIUNICODE*, const MIUNICODE*, void*, int (*)(MIUNICODE*, char*, void*), void*, UINT32);
00608 int (*OpenFile)(void*, const MIUNICODE*, UINT32);
00609 int (*ChangeFileLock)(void*, int, UINT32);
00610 void (*AddCallback)(McbCallbackFunc, void*, UINT32);
00611 int (*UsernamePasswordDialog)(void *dlgparent, MIUNICODE*, int, int*, int*, UINT32);
00612 void (*DisplayErrorCode)(void*, int);
00613 int (*OpenFileEx)(void*, const FILEPATH&, UINT32);
00614 int (*OpenFile2)(void*, const FILEPATH&, UINT32, RVC::FILEHANDLE*&);
00615 };
00616
00617
00618 struct RVCAPPFUNCS {
00619 INT32 size;
00620 int (*GetStringExtents)(TEXTSTYLE*, DPOINT2D*, INT32, UINT32, const MIUNICODE*, DRECT2D*);
00621 int (*GetFontName)(int, MIUNICODE*);
00622 int (*OpenFont)(const MIUNICODE*);
00623 int (*GetStringExtentsJustify)(TEXTSTYLE*, DPOINT2D*, INT32, UINT32, const MIUNICODE*, DRECT2D*);
00624 };
00625
00626 #ifndef INC_RVC_OBJITEM_H
00627 #include <rvc/objitem.h>
00628 #endif
00629
00630
00631
00632
00633
00634 #define RVCLINKFLAG_LoHi (0x00000001)
00635 #define RVCLINKFLAG_HiLo (0x00000002)
00636 #define RVCLINKFLAG_RO (0x00000004)
00637 #define RVCLINKFLAG_Modified (0x00000008)
00638
00639
00640
00641
00642
00643 #define VECTMODE_ConvTo3D 0x0001
00644 #define VECTMODE_ConvTo2D 0x0002
00645 #define VECTMODE_Mask 0x0003
00646
00647
00648
00649
00650
00651 #define VPOINT_2DXY 1
00652 #define VPOINT_2DXZ 2
00653 #define VPOINT_2DYZ 3
00654 #define VPOINT_3DXY 4
00655 #define VPOINT_3DXZ 5
00656 #define VPOINT_3DYZ 6
00657 #define VPOINT_3DXYZ 7
00658
00659
00660
00661
00662
00663
00664 struct FNAMEINODEUC {
00665 MIUNICODE *filename;
00666 RVCINODENUM inode;
00667 FNAMEINODEUC *next;
00668 RVCGENINFO *objinfo;
00669 void *userdata;
00670 FNAMEINODEUC (
00671 ) { memset(this,0,sizeof(*this)); }
00672 };
00673
00674
00675
00676
00677
00678
00679 struct RVCFILELOCK {
00680 int serialnum;
00681 int processid;
00682 int userid;
00683 int parentid;
00684 MIUNICODE username[64];
00685 MIUNICODE stationname[64];
00686 RVCDATETIME locktime;
00687 int IsReadOnly;
00688 };
00689
00690
00691
00692
00693
00694 #define RVCFS_ReadOnly 0x00000001
00695 #define RVCFS_ReadLocked 0x00000002
00696 #define RVCFS_Writable 0x00000004
00697 #define RVCFS_WriteLocked 0x00000008
00698 #define RVCFS_Modified 0x00000010
00699 #define RVCFS_Tempfile 0x00000020
00700 #define RVCFS_TNTlite 0x00000040
00701 #define RVCFS_Open 0x00000080
00702
00703 #define RVCOS_Composite 0x00000001
00704 #define RVCOS_Free 0x00000002
00705 #define RVCOS_Opened 0x00000004
00706 #define RVCOS_ReadOnly 0x00000008
00707 #define RVCOS_Writable 0x00000010
00708 #define RVCOS_Link 0x00000020
00709 #define RVCOS_ViewProtected 0x00000040
00710 #define RVCOS_EditProtected 0x00000080
00711 #define RVCOS_Bogus 0x00000100
00712 #define RVCOS_TNTlite 0x00000200
00713 #define RVCOS_BadInode 0x00000400
00714 #define RVCOS_Deleting 0x00000800
00715
00716
00717
00718
00719
00720 #define COPYRVC_SubObjects 0x00000001
00721 #define COPYRVC_RasterLinks 0x00000002
00722 #define COPYRVC_DBaseLinks 0x00000004
00723 #define COPYRVC_DemoteIdentityTables 0x00000008
00724 #define COPYRVC_PointDBase 0x00000010
00725 #define COPYRVC_MinimizeTableSize 0x00000020
00726 #define COPYRVC_DontRemoveRecords 0x00000200
00727 #define COPYRVC_RVCLinks 0x00000400
00728 #define COPYRVC_RemoveStdAttTables 0x00000800
00729 #define COPYRVC_NoDBLists 0x00004000
00730 #define COPYRVC_IgnoreStdAttTables 0x00040000
00731 #define COPYRVC_FreezeComputedFields 0x00080000
00732
00733 #define COPYRVC_AllLinks (COPYRVC_RasterLinks | COPYRVC_DBaseLinks | COPYRVC_RVCLinks)
00734
00735 namespace RVC {
00736
00737
00738 enum MAKELINKFLAGS {
00739 MAKELINKFLAG_NoGeoreference = 0x0001,
00740 MAKELINKFLAG_NoPyramidLinks = 0x0002,
00741 MAKELINKFLAG_BuildHistograms = 0x0004,
00742 MAKELINKFLAG_BuildPyramids = 0x0008,
00743 MAKELINKFLAG_NoContrastTables = 0x0010,
00744 MAKELINKFLAG_ColorComposite = 0x0020,
00745 MAKELINKFLAG_ColorSeparate = 0x0040,
00746 MAKELINKFLAG_None = 0x0000
00747 };
00748 DEFINE_ENUM_OPERATORS(MAKELINKFLAGS);
00749
00750
00751
00752 enum LITEUSABILITY {
00753 LITEUSABILITY_OK = 0,
00754 LITEUSABILITY_ObjectNo = 1,
00755 LITEUSABILITY_SubObjectNo = 2
00756
00757 };
00758
00759 }
00760
00761
00762
00763
00764
00765 #define RVCTYPE_Unsigned 1
00766 #define RVCTYPE_Signed 2
00767 #define RVCTYPE_Float 3
00768 #define RVCTYPE_RGB 8
00769 #define RVCTYPE_BGR 9
00770 #define RVCTYPE_ComplexRI 16
00771 #define RVCTYPE_ComplexMP 17
00772
00773
00774
00775
00776 #define RVCTYPE_RGB24_Really 9
00777 #define RVCTYPE_BGR24_Really 8
00778
00779
00780
00781
00782
00783 #define FILTMSGLEN 100
00784
00785 #define FILT_NotVisible 0
00786 #define FILT_NotUsable 0
00787 #define FILT_Selectable 1
00788 #define FILT_Usable 1
00789 #define FILT_NotSelectable FILT_NotUsable
00790 #define FILT_FolderUsable 5
00791
00792 #if !defined(DEPRECATE_GROUPKEY)
00793 #define FILT_UsableSubobjects 4
00794 #endif
00795
00796
00797
00798
00799
00800 #define FINDFILE_Stored 0x1
00801 #define FINDFILE_RefDrive 0x2
00802 #define FINDFILE_RefPath 0x3
00803 #define FINDFILE_Subtree 0x4
00804 #define FINDFILE_DontAsk 0x80000000
00805
00806 #define FINDFILE2(a,b) ((a) | (b<<4))
00807 #define FINDFILE3(a,b,c) ((a) | (b<<4) | (c<<8))
00808 #define FINDFILE4(a,b,c,d) ((a) | (b<<4) | (c<<8) | (d<<12))
00809
00810 #define FINDFILE_Default FINDFILE4(FINDFILE_RefPath,FINDFILE_Stored,FINDFILE_RefDrive,FINDFILE_Subtree)
00811 #define FINDFILE_StoredFirst FINDFILE4(FINDFILE_Stored,FINDFILE_RefDrive,FINDFILE_RefPath,FINDFILE_Subtree)
00812 #define FINDFILE_RefDriveFirst FINDFILE4(FINDFILE_RefDrive,FINDFILE_RefPath,FINDFILE_Stored,FINDFILE_Subtree)
00813
00814
00815
00816
00817
00818
00819
00820 #define ELEMENTNUM_DefaultList -1
00821 #define ELEMENTNUM_None -2
00822
00823
00824
00825
00826
00827 #define CONVRASTCOMP_NoReserveStd64 0x00000001
00828
00829 #define CONVRASTLINE_Trace0Cells 0x0001
00830 #define CONVRASTLINE_Trace1Cells 0x0000
00831
00832 #define CONVRASTBOUND_NoCreateTable 0x0001
00833 #define CONVRASTBOUND_DoImpliedGeoref 0x0002
00834 #define CONVRASTBOUND_ComputeStdAttrib 0x0004
00835
00836 #define TINTORASTER_Linear 0
00837 #define TINTORASTER_Quintic 1
00838 #define TINTORASTER_CopyGeoref 0x0001
00839 #define TINTORASTER_AutoScale 0x0002
00840 #define TIN_ComputeStatistics 0x0001
00841 #define TIN_Optimize 0x0002
00842
00843
00844
00845
00846
00847 #define INTERPOLATE_Linear 1
00848 #define INTERPOLATE_SplineCubic 2
00849 #define INTERPOLATE_SplineQuad 3
00850 #define INTERPOLATE_SplineBezier 4
00851
00852 #define SURFACEFIT_AutoRescale 0x0001
00853 #define SURFACEFIT_MatchReference 0x0002
00854 #define SURFACEFIT_UseDirection 0x0004
00855
00856
00857
00858
00859
00860 #define CROSSSECTION_NoGeoreference 0x00000001
00861
00862
00863
00864
00865
00866
00867 struct MfAnyCallbackStruct : public McbAnyCallbackStruct {
00868 int m_FileHandle;
00869
00870 MfAnyCallbackStruct () {}
00871 MfAnyCallbackStruct (
00872 int FileHandle,
00873 UINT32 ireason
00874 ):
00875 McbAnyCallbackStruct(ireason),
00876 m_FileHandle(FileHandle)
00877 { }
00878 };
00879
00880
00881 typedef void (*MfCallbackFunc)(MfAnyCallbackStruct*,void*);
00882
00883
00884 struct MfChildCallbackStruct : public MfAnyCallbackStruct {
00885 RVCINODENUM m_ParentInode;
00886 RVCINODENUM m_ObjectInode;
00887
00888 MfChildCallbackStruct () {}
00889 MfChildCallbackStruct (
00890 int FileHandle,
00891 RVCINODENUM ParentInode,
00892 RVCINODENUM ObjectInode,
00893 UINT32 ireason
00894 ):
00895 MfAnyCallbackStruct(FileHandle, ireason),
00896 m_ParentInode(ParentInode),
00897 m_ObjectInode(ObjectInode)
00898 { }
00899 };
00900
00901
00902
00903 struct MfExtentsCallbackStruct : public MfAnyCallbackStruct {
00904 DRECT3D m_Extents;
00905
00906 MfExtentsCallbackStruct () {}
00907 MfExtentsCallbackStruct (
00908 const DRECT3D& Extents,
00909 int FileHandle,
00910 UINT32 ireason
00911 ):
00912 MfAnyCallbackStruct(FileHandle, ireason),
00913 m_Extents(Extents)
00914 { }
00915 };
00916
00917
00918 struct MfPointTypeCallbackStruct : public MfAnyCallbackStruct {
00919 int m_PointType;
00920
00921 MfPointTypeCallbackStruct () {}
00922 MfPointTypeCallbackStruct (
00923 int PointType,
00924 int FileHandle,
00925 UINT32 ireason
00926 ):
00927 MfAnyCallbackStruct(FileHandle, ireason),
00928 m_PointType(PointType)
00929 {}
00930 };
00931
00932
00933 typedef void (*MfCallbackFunc)(MfAnyCallbackStruct*,void*);
00934
00935 #define MFCR_UndoBegin 0x00000101
00936 #define MFCR_UndoEnd 0x00000102
00937 #define MFCR_UndoPossible 0x00000104
00938 #define MFCR_ExtentsChanged 0x00000108
00939 #define MFCR_PointTypeChanged 0x00000110
00940 #define MFCR_NullValueChanged 0x00000111
00941 #define MFCR_FileClosing 0x00000112
00942 #define MFCR_ChildCreate 0x00000120
00943 #define MFCR_ChildOpen 0x00000121
00944 #define MFCR_ChildClosing 0x00000122
00945
00946
00947
00948
00949
00950
00951 enum GETOBJFLAGS {
00952 GETOBJFLAG_None = 0x00000000,
00953 GETOBJFLAG_NewOK = 0x00000001,
00954 GETOBJFLAG_DftNew = 0x00000002,
00955 GETOBJFLAG_SkipOK = 0x00000004,
00956 GETOBJFLAG_UseFilter = 0x00000020,
00957 GETOBJFLAG_OnlyNew = 0x00000040,
00958 GETOBJFLAG_Overwrite = 0x00000080,
00959 GETOBJFLAG_AllowAll = 0x00000200,
00960 GETOBJFLAG_AllowFewer = 0x00008000,
00961 GETOBJFLAG_SkipNone = 0x00010000,
00962 GETOBJFLAG_NoEditNameDesc = 0x00020000,
00963 GETOBJFLAG_AllowAutoName = 0x00040000,
00964 GETOBJFLAG_TablesAsSubObjs = 0x00100000,
00965 GETOBJFLAG_AllowDupObjs = 0x00200000,
00966 GETOBJFLAG_NoMetaData = 0x00400000,
00967 GETOBJFLAG_LabelsUnicode = 0x01000000,
00968 GETOBJFLAG_NoChangeLevel = 0x02000000
00969 };
00970 DEFINE_ENUM_OPERATORS(GETOBJFLAGS);
00971 #define GETOBJFLAG_NewOnly GETOBJFLAG_OnlyNew
00972 #define GETOBJFLAG_MakeNew GETOBJFLAG_Overwrite
00973 #ifdef WIN32
00974 #pragma deprecated("GETOBJFLAG_DftNew")
00975 #pragma deprecated("GETOBJFLAG_UseFilter")
00976 #pragma deprecated("GETOBJFLAG_MakeNew")
00977 #endif
00978
00979
00980 typedef int (*MfValidListProto) (const RVC::OBJITEMLIST&, void*, char*);
00981
00982
00983
00984
00985 #if (defined(X_NATIVE) || defined(WIN32_MFC)) && !defined(NO_DEPRECATED)
00986
00987
00988
00989 DEPRECATED int MdlgGetObject (
00990 MDLGPARENT dlgparent,
00991 FILEPATH& filepath,
00992 INT32 *inode,
00993 const void *prompt,
00994 int objtype,
00995 int hdrconv,
00996 void *vinfo,
00997 int hdrsize,
00998 MfFiltFuncProto filter=0,
00999 void *filtuserdata=0,
01000 GETOBJFLAGS flags=GETOBJFLAG_None
01001 );
01002
01003
01004
01005 DEPRECATED int MdlgGetObject (
01006 MDLGPARENT dlgparent,
01007 MIUNICODE *filename,
01008 INT32 *inode,
01009 const void *prompt,
01010 int objtype,
01011 int hdrconv,
01012 void *vinfo,
01013 int hdrsize,
01014 MfFiltFuncProto filter=0,
01015 void *filtuserdata=0,
01016 GETOBJFLAGS flags=GETOBJFLAG_None
01017 );
01018
01019
01020
01021 DEPRECATED int MdlgGetObjects (
01022 MDLGPARENT dlgparent,
01023 FILEPATH& filepath,
01024 INT32 parentinode,
01025 const void *prompt,
01026 int objtype,
01027 int minobjs,
01028 int maxobjs,
01029 RVC::OBJITEMLIST& ItemList,
01030 MfFiltFuncProto filter=0,
01031 void *filtuserdata=0,
01032 MfValidListProto validfunc=0,
01033 GETOBJFLAGS flags=GETOBJFLAG_None
01034 );
01035
01036
01037
01038 DEPRECATED int MdlgGetObjects (
01039 MDLGPARENT dlgparent,
01040 MIUNICODE *filename,
01041 INT32 parentinode,
01042 const void *prompt,
01043 int objtype,
01044 int minobjs,
01045 int maxobjs,
01046 FNAMEINODEUC **fnamein