⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 super3dlib_tlb.pas

📁 GIS开发源代码。 SuperMax5.0+Delphi,用Delphi编写的控件工具包
💻 PAS
📖 第 1 页 / 共 4 页
字号:
// GUID:      {DABC18FF-2CF9-4B1E-9D36-2EFB803FB7AE}
// *********************************************************************//
  IsoLights = dispinterface
    ['{DABC18FF-2CF9-4B1E-9D36-2EFB803FB7AE}']
    property Item[Index: OleVariant]: IsoLight dispid 0; default;
    procedure RemoveAll; dispid 4;
    function Add(const objLight: IsoLight): Integer; dispid 2;
    function Remove(nIndex: Integer): WordBool; dispid 3;
    property Count: Integer dispid 1;
  end;

// *********************************************************************//
// DispIntf:  IsoCamera
// Flags:     (4096) Dispatchable
// GUID:      {C4AF5390-E796-43EF-8FD7-B05FED56B6E8}
// *********************************************************************//
  IsoCamera = dispinterface
    ['{C4AF5390-E796-43EF-8FD7-B05FED56B6E8}']
    procedure RotateAroundPoint(const objCenter: IDispatch; fAngle: Single; X: Single; Y: Single; 
                                Z: Single); dispid 12;
    procedure MoveRelative(X: Single; Y: Single; Z: Single); dispid 11;
    procedure Move(X: Single; Y: Single; Z: Single); dispid 10;
    procedure Roll(fDegree: Single); dispid 9;
    procedure Yaw(fDegree: Single); dispid 8;
    procedure Pitch(fDegree: Single); dispid 7;
    property Aspect: Single dispid 6;
    property NearDistance: Single dispid 5;
    property FarDistance: Single dispid 4;
    property VisualAngle: Single dispid 3;
    property Direction: IsoPoint3D dispid 2;
    property Position: IsoPoint3D dispid 1;
  end;

// *********************************************************************//
// DispIntf:  _DSuper3D
// Flags:     (4112) Hidden Dispatchable
// GUID:      {D3874D8E-AE8B-4881-9E0F-3FF1B9311CE8}
// *********************************************************************//
  _DSuper3D = dispinterface
    ['{D3874D8E-AE8B-4881-9E0F-3FF1B9311CE8}']
    function FromXML(const strXML: WideString; bIgore3DLayerCaption: OleVariant): WordBool; dispid 54;
    procedure SetFlyEnabled(bEnable: WordBool); dispid 59;
    function Connect(const objSuperWorkspace: IDispatch): WordBool; dispid 33;
    function Disconnect: WordBool; dispid 34;
    procedure Close; dispid 58;
    function ToXML: WideString; dispid 55;
    procedure AddFlyTime(dAddTime: Double); dispid 60;
    procedure AboutBox; dispid -552;
    function SaveMap3DAs(const strMapName: WideString): WordBool; dispid 32;
    function Rotate(dAngle: Double; NormalX: Double; NormalY: Double; NormalZ: Double): WordBool; dispid 13;
    function RouteFly(const obj3DPoints: IsoPoint3Ds; dPeriod: Double): WordBool; dispid 16;
    procedure RestoreScene; dispid 15;
    procedure Fly(const objViewPoint: IsoPoint3D; fVisAngle: Single; dRoll: Double; dPitch: Double; 
                  dHeading: Double); dispid 14;
    function SaveSceneAs(const strName: WideString): WordBool; dispid 53;
    function HitTestEx(X: Double; Y: Double): WordBool; dispid 50;
    function OpenScene(const strName: WideString): WordBool; dispid 51;
    function SaveScene: WordBool; dispid 52;
    procedure AddResourceLocation(const strPathName: WideString); dispid 56;
    procedure UnlockWindowUpdate; dispid 29;
    function OpenMap3D(const strMapName: WideString): WordBool; dispid 30;
    function OutputToFile(const strPictureFile: WideString; nFileFormat: OleVariant): WordBool; dispid 24;
    procedure LockWindowUpdate; dispid 28;
    function CreateSoObject(const strObjectName: WideString): IDispatch; dispid 26;
    function RegisterForRuntime(const strUser: WideString; const strCompany: WideString; 
                                const strSerialNo: WideString): WordBool; dispid 27;
    procedure Refresh; dispid -550;
    function Output(hDC: OLE_HANDLE): WordBool; dispid 25;
    procedure PanRotate(dX: Integer; dY: Integer); dispid 19;
    procedure Flood(dHeight: Double); dispid 21;
    procedure FloodEx(const ControlPoints: IDispatch); dispid 22;
    function CompileChunkLod(const objDataset: IDispatch; nTreeDepth: OleVariant; 
                             dMaxError: OleVariant; dResolution: OleVariant; 
                             dVerticalScale: OleVariant; dStoredScale: OleVariant): WordBool; dispid 57;
    function SaveMap3D: WordBool; dispid 31;
    function Pan(dX: Double; dY: Double): WordBool; dispid 17;
    function LightSource(const objPosition: IsoPoint3D; bLocate: WordBool): WordBool; dispid 18;
    procedure Zoom(dRatio: Double); dispid 23;
    function HitTest(dWinX: Double; dWinY: Double): IsoPoint3D; dispid 20;
    property RenderMode: seSceneRenderMode dispid 49;
    property Zscale: Double dispid 48;
    property Yscale: Double dispid 47;
    property Xscale: Double dispid 46;
    property CenterPosition: IsoPoint3D dispid 45;
    property LightColor: OLE_COLOR dispid 44;
    property Camera: IsoCamera dispid 43;
    property Lights: IsoLights dispid 42;
    property Fog: IsoFog dispid 41;
    property TrackingLayer3D: Iso3DTrackingLayer dispid 40;
    property Layer3Ds: Iso3DLayers dispid 39;
    property Action: se3DAction dispid 38;
    property SelectionTolerance: Integer dispid 37;
    property Selection: IsoSelection dispid 36;
    property WaterColor: OLE_COLOR dispid 35;
    property FlightControl: IsoFlightControl dispid 12;
    property Layers: IsoLayers dispid 11;
    property BackGroundTexture: WideString dispid 10;
    property Appearance: Smallint dispid -520;
    property AltitudeField: WideString dispid 9;
    property Texture: WideString dispid 8;
    property OverlayImage: IsoDatasetRaster dispid 7;
    property ClipRegion: IsoGeoRegion dispid 6;
    property ScaleZ: Double dispid 5;
    property Colorset: IsoColors dispid 4;
    property FloodEnable: WordBool dispid 3;
    property BackColor: OLE_COLOR dispid 2;
    property ActiveDataset: IsoDataset dispid 1;
  end;

// *********************************************************************//
// DispIntf:  _DSuper3DEvents
// Flags:     (4096) Dispatchable
// GUID:      {3E86DE3E-20FE-47A2-90CA-7C3D91EDF7B4}
// *********************************************************************//
  _DSuper3DEvents = dispinterface
    ['{3E86DE3E-20FE-47A2-90CA-7C3D91EDF7B4}']
    procedure MouseDown(Button: Smallint; Shift: Smallint; X: OLE_XPOS_PIXELS; Y: OLE_YPOS_PIXELS); dispid -605;
    procedure MouseMove(Button: Smallint; Shift: Smallint; X: OLE_XPOS_PIXELS; Y: OLE_YPOS_PIXELS); dispid -606;
    procedure KeyDown(var KeyCode: Smallint; Shift: Smallint); dispid -602;
    procedure MouseUp(Button: Smallint; Shift: Smallint; X: OLE_XPOS_PIXELS; Y: OLE_YPOS_PIXELS); dispid -607;
    procedure GeometrySelected(nGeometryCount: Integer); dispid 1;
  end;

// *********************************************************************//
// DispIntf:  Iso3DAnalyst
// Flags:     (4096) Dispatchable
// GUID:      {5BFD4FB4-55B5-4743-B5E6-90C24C2F9AA2}
// *********************************************************************//
  Iso3DAnalyst = dispinterface
    ['{5BFD4FB4-55B5-4743-B5E6-90C24C2F9AA2}']
    function LineToTIN(const objLineDataset: IDispatch; const strElevateField: WideString; 
                       const objTagDatasource: IDispatch; const strTINDatasetName: WideString; 
                       dLength: Double; dScaleZ: Double; bShowProgress: OleVariant): WordBool; dispid 1;
    function Point3DToTIN(const objPoint3DDataset: IDispatch; const objDatasource: IDispatch; 
                          const strTINDatasetName: WideString; dScaleZ: Double; 
                          bShowProgress: OleVariant): WordBool; dispid 2;
    function PointToTIN(const objPointDataset: IDispatch; const strFieldName: WideString; 
                        const objDatasource: IDispatch; const strTINDatasetName: WideString; 
                        dScaleZ: Double; bShowProgress: OleVariant): WordBool; dispid 3;
    function TINToContour(const objTINDataset: IDispatch; const objDatasource: IDispatch; 
                          const strLineDatasetName: WideString; dIsoDistVal: Double; 
                          nSmooth: Integer; bShowProgress: OleVariant): WordBool; dispid 4;
    function IsVisible(const objDataset: IsoDataset; const objFromPoint: IsoPoint3D; 
                       const objToPoint: IsoPoint3D): WordBool; dispid 5;
    function Flood(const objDataset: IsoDataset; dHeight: Double; objBoundary: OleVariant): IsoGeoRegion; dispid 6;
    function GetPointInfo(const objDataset: IsoDataset; const objPoint: IsoPoint; 
                          var dSlope: Double; var dAspect: Double; var dZValue: Double): WordBool; dispid 7;
    function Volume(const objDataset: IsoDataset; const objRegion: IsoGeoRegion; dBaseValue: Double): Double; dispid 8;
    function CalculateViewShed(const objDataset: IsoDataset; const objPosition: IsoPoint3D; 
                               dViewRadius: Double): IsoGeoRegion; dispid 9;
    function CutFill(const objDataset: IsoDataset; const objRegion: IsoGeoRegion; dBaseValue: Double): IsoCutFillResult; dispid 10;
    function CutFillEx(const objDataset1: IsoDataset; const objDataset2: IsoDataset; 
                       const objDatasource: IsoDataSource; const strOutDatasetName: WideString; 
                       dZFactor: OleVariant; const objRegion: IsoGeoRegion; 
                       bShowProgress: OleVariant): IsoCutFillResult; dispid 11;
    function SurfaceArea(const objDataset: IsoDataset; const objRegion: IsoGeoRegion): Double; dispid 12;
    function SurfaceLength(const objDataset: IsoDataset; const objLine: IsoGeoLine): Double; dispid 13;
    function Slope(const objDemDataset: IsoDatasetRaster; const objDatasource: IsoDataSource; 
                   const strName: WideString; const objRegion: IsoGeoRegion; slopeType: OleVariant; 
                   dZFactor: OleVariant; bShowProgress: OleVariant): WordBool; dispid 14;
    function Aspect(const objDemDataset: IsoDatasetRaster; const objDatasource: IsoDataSource; 
                    const strName: WideString; const objRegion: IsoGeoRegion; 
                    bShowProgress: OleVariant): WordBool; dispid 15;
    function SurfaceProfile(const objDemDataset: IsoDatasetRaster; 
                            const objSectionLine: IsoGeoLine; const objRect: IsoRect; 
                            dResampleDistance: OleVariant): IsoGeoLine; dispid 16;
  end;

// *********************************************************************//
// The Class CosoGeoEvent3D provides a Create and CreateRemote method to          
// create instances of the default interface IsoGeoEvent3D exposed by              
// the CoClass soGeoEvent3D. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CosoGeoEvent3D = class
    class function Create: IsoGeoEvent3D;
    class function CreateRemote(const MachineName: string): IsoGeoEvent3D;
  end;

// *********************************************************************//
// The Class Coso3DLayer provides a Create and CreateRemote method to          
// create instances of the default interface Iso3DLayer exposed by              
// the CoClass so3DLayer. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  Coso3DLayer = class
    class function Create: Iso3DLayer;
    class function CreateRemote(const MachineName: string): Iso3DLayer;
  end;

// *********************************************************************//
// The Class Coso3DLayers provides a Create and CreateRemote method to          
// create instances of the default interface Iso3DLayers exposed by              
// the CoClass so3DLayers. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  Coso3DLayers = class
    class function Create: Iso3DLayers;
    class function CreateRemote(const MachineName: string): Iso3DLayers;
  end;

// *********************************************************************//
// The Class CosoStyle3D provides a Create and CreateRemote method to          
// create instances of the default interface IsoStyle3D exposed by              
// the CoClass soStyle3D. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CosoStyle3D = class
    class function Create: IsoStyle3D;
    class function CreateRemote(const MachineName: string): IsoStyle3D;
  end;

// *********************************************************************//
// The Class Coso3DTrackingLayer provides a Create and CreateRemote method to          
// create instances of the default interface Iso3DTrackingLayer exposed by              
// the CoClass so3DTrackingLayer. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  Coso3DTrackingLayer = class
    class function Create: Iso3DTrackingLayer;
    class function CreateRemote(const MachineName: string): Iso3DTrackingLayer;
  end;

// *********************************************************************//
// The Class CosoFog provides a Create and CreateRemote method to          
// create instances of the default interface IsoFog exposed by              
// the CoClass soFog. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CosoFog = class
    class function Create: IsoFog;
    class function CreateRemote(const MachineName: string): IsoFog;
  end;

// *********************************************************************//
// The Class CosoLight provides a Create and CreateRemote method to          
// create instances of the default interface IsoLight exposed by              
// the CoClass soLight. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CosoLight = class
    class function Create: IsoLight;
    class function CreateRemote(const MachineName: string): IsoLight;
  end;

// *********************************************************************//
// The Class CosoLights provides a Create and CreateRemote method to          
// create instances of the default interface IsoLights exposed by              
// the CoClass soLights. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CosoLights = class
    class function Create: IsoLights;
    class function CreateRemote(const MachineName: string): IsoLights;
  end;

// *********************************************************************//
// The Class CosoCamera provides a Create and CreateRemote method to          
// create instances of the default interface IsoCamera exposed by              
// the CoClass soCamera. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CosoCamera = class
    class function Create: IsoCamera;
    class function CreateRemote(const MachineName: string): IsoCamera;
  end;


// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name     : TSuper3D
// Help String      : Super3D Control
// Default Interface: _DSuper3D
// Def. Intf. DISP? : Yes
// Event   Interface: _DSuper3DEvents
// TypeFlags        : (38) CanCreate Licensed Control
// *********************************************************************//
  TSuper3DGeometrySelected = procedure(ASender: TObject; nGeometryCount: Integer) of object;

  TSuper3D = class(TOleControl)
  private
    FOnGeometrySelected: TSuper3DGeometrySelected;
    FIntf: _DSuper3D;
    function  GetControlInterface: _DSuper3D;
  protected
    procedure CreateControl;
    procedure InitControlData; override;
    function Get_CenterPosition: IsoPoint3D;
    procedure Set_CenterPosition(const Value: IsoPoint3D);
    function Get_Camera: IsoCamera;
    procedure Set_Camera(const Value: IsoCamera);
    function Get_Lights: IsoLights;
    procedure Set_Lights(const Value: IsoLights);
    function Get_Fog: IsoFog;
    procedure Set_Fog(const Value: IsoFog);
    function Get_TrackingLayer3D: Iso3DTrackingLayer;
    procedure Set_TrackingLayer3D(const Value: Iso3DTrackingLayer);
    function Get_Layer3Ds: Iso3DLayers;
    procedure Set_Layer3Ds(const Value: Iso3DLayers);
    function Get_Selection: IsoSelection;
    procedure Set_Selection(const Value: IsoSelection);
    function Get_FlightControl: IsoFlightControl;
    procedure Set_FlightControl(const Value: IsoFlightControl);
    function Get_Layers: IsoLayers;
    procedure Set_Layers(const Value: IsoLayers);
    function Get_OverlayImage: IsoDatasetRaster;
    procedure Set_OverlayImage(const Value: IsoDatasetRaster);
    function Get_ClipRegion: IsoGeoRegion;
    procedure Set_ClipRegion(const Value: IsoGeoRegion);
    function Get_Colorset: IsoColors;
    procedure Set_Colorset(const Value: IsoColors);
    function Get_ActiveDataset: IsoDataset;
    procedure Set_ActiveDataset(const Value: IsoDataset);
  public
    function FromXML(const strXML: WideString): WordBool; overload;
    function FromXML(const strXML: WideString; bIgore3DLayerCaption: OleVariant): WordBool; overload;
    procedure SetFlyEnabled(bEnable: WordBool);
    function Connect(const objSuperWorkspace: IDispatch): WordBool;
    function Disconnect: WordBool;
    procedure Close;
    function ToXML: WideString;
    procedure AddFlyTime(dAddTime: Double);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -