C# 클래스 RSSWeatherLayer3D.GlobeCustomLayerBase

An abstract base class for implementation of a custom globe layer
상속: System.Windows.Forms.Control, ILayer, IGeoDataset, ILayerGeneralProperties, IPersistVariant, IPersistStream, ILayerExtensions, ILayerInfo, ILegendInfo, ILayerDrawingProperties, ICustomGlobeLayer, IEnumerable, IDisposable
파일 보기 프로젝트 열기: Esri/arcobjects-sdk-community-samples

보호된 프로퍼티들

프로퍼티 타입 설명
m_ShowTips bool
m_bCached bool
m_bDrawDirty bool
m_bValid bool
m_bVisible bool
m_dblMaxScale double
m_dblMinScale double
m_extensions System.Collections.ArrayList
m_extent IEnvelope
m_hLargeBitmap System.IntPtr
m_hSmallBitmap System.IntPtr
m_largeBitmap System.Drawing.Bitmap
m_legendGroup ILegendGroup
m_sName string
m_smallBitmap System.Drawing.Bitmap
m_spRef ISpatialReference
m_table System.Data.DataTable

Private Properties

프로퍼티 타입 설명
DeleteObject int

공개 메소드들

메소드 설명
AddExtension ( object ext ) : void

Adds a new extension.

AddItem ( DataRow row ) : void

Add an item to the layer

AddItem ( object values ) : void

Add an item to the Layer

Clear ( ) : void

Remove all items in the layer

Dispose ( ) : void

Dispose the layer

Draw ( esriDrawPhase drawPhase, IDisplay Display, ITrackCancel trackCancel ) : void

Draws the layer to the specified display for the given draw phase.

This method draws the layer to the Display for the specified DrawPhase. Use the TrackCancel object to allow the drawing of the layer to be interrupted by the user.

DrawImmediate ( IGlobeViewer pGlobeViewer ) : void

For custom OpenGL layers, perform immediate drawing.

This is where you should add your drawings on the Globe. This method must be overridden in your inheriting class. DrawImmediate together with IGlobeDisplayEvents::BeforeDraw and IGlobeDisplayEvents::AfterDraw is the only safe place where the OpenGL state is ready for custom actions.

GetClassID ( System.Guid &pClassID ) : void

Returns the class identifier (CLSID) for the component object.

GetEnumerator ( ) : IEnumerator

Allow users to directly enumerate through the layer's records

GetSizeMax ( _ULARGE_INTEGER &pcbSize ) : void

Return the size in bytes of the stream needed to save the object.

GetTile ( int tilesize, int face, int level, int row, int col, byte &pData ) : void

Gets a rasterized data tile for the given globe tesselation coordinates.

GlobeCustomLayerBase ( ) : System

Class default constructor

Hit ( int hitObjectID, ESRI pHit3D ) : void

The layer is hit by a picking operation.

IsDirty ( ) : void

Checks the object for changes since it was last saved.

Load ( IStream pstm ) : void

Initializes an object from the stream where it was previously saved.

Load ( IVariantStream Stream ) : void

Loads the object properties from the stream.

The Load method must read the data from the stream in the same order the data was written to the stream in the Save method. Streams are sequential; you must ensure that your data is saved and loaded in the correct order, so that the correct data is written to the correct member.

NewItem ( ) : DataRow

Create a new item (does not add it to the layer)

RemoveExtension ( int Index ) : void

Removes the specified extension.

RemoveItem ( DataRow row ) : void

Remove the item from the layer

Save ( IStream pstm, int fClearDirty ) : void

Saves an object into the specified stream and indicates whether the object should reset its dirty flag.

Save ( IVariantStream Stream ) : void

Saves the object properties to the stream.

Select ( string queryFilter ) : System.Data.DataRow[]

Query for items in the layer

get_Extension ( int Index ) : object

The extension at the specified index.

get_LegendGroup ( int Index ) : ILegendGroup

Legend group at the specified index.

The content and number of legend groups is determined by the implementation of the renderer, consequently this property is read only.

get_TipText ( double X, double Y, double Tolerance ) : string

Map tip text at the specified location.

this ( int index ) : DataRow

Indexer, returns the underlying DataRow for the given index

비공개 메소드들

메소드 설명
DeleteObject ( IntPtr hObject ) : int

메소드 상세

AddExtension() 공개 메소드

Adds a new extension.
public AddExtension ( object ext ) : void
ext object
리턴 void

AddItem() 공개 메소드

Add an item to the layer
public AddItem ( DataRow row ) : void
row System.Data.DataRow
리턴 void

AddItem() 공개 메소드

Add an item to the Layer
public AddItem ( object values ) : void
values object
리턴 void

Clear() 공개 메소드

Remove all items in the layer
public Clear ( ) : void
리턴 void

Dispose() 공개 메소드

Dispose the layer
public Dispose ( ) : void
리턴 void

Draw() 공개 메소드

Draws the layer to the specified display for the given draw phase.
This method draws the layer to the Display for the specified DrawPhase. Use the TrackCancel object to allow the drawing of the layer to be interrupted by the user.
public Draw ( esriDrawPhase drawPhase, IDisplay Display, ITrackCancel trackCancel ) : void
drawPhase esriDrawPhase
Display IDisplay
trackCancel ITrackCancel
리턴 void

DrawImmediate() 공개 추상적인 메소드

For custom OpenGL layers, perform immediate drawing.
This is where you should add your drawings on the Globe. This method must be overridden in your inheriting class. DrawImmediate together with IGlobeDisplayEvents::BeforeDraw and IGlobeDisplayEvents::AfterDraw is the only safe place where the OpenGL state is ready for custom actions.
public abstract DrawImmediate ( IGlobeViewer pGlobeViewer ) : void
pGlobeViewer IGlobeViewer
리턴 void

GetClassID() 공개 메소드

Returns the class identifier (CLSID) for the component object.
public GetClassID ( System.Guid &pClassID ) : void
pClassID System.Guid
리턴 void

GetEnumerator() 공개 메소드

Allow users to directly enumerate through the layer's records
public GetEnumerator ( ) : IEnumerator
리턴 IEnumerator

GetSizeMax() 공개 메소드

Return the size in bytes of the stream needed to save the object.
public GetSizeMax ( _ULARGE_INTEGER &pcbSize ) : void
pcbSize _ULARGE_INTEGER
리턴 void

GetTile() 공개 메소드

Gets a rasterized data tile for the given globe tesselation coordinates.
public GetTile ( int tilesize, int face, int level, int row, int col, byte &pData ) : void
tilesize int
face int
level int
row int
col int
pData byte
리턴 void

GlobeCustomLayerBase() 공개 메소드

Class default constructor
public GlobeCustomLayerBase ( ) : System
리턴 System

Hit() 공개 메소드

The layer is hit by a picking operation.
public Hit ( int hitObjectID, ESRI pHit3D ) : void
hitObjectID int
pHit3D ESRI
리턴 void

IsDirty() 공개 메소드

Checks the object for changes since it was last saved.
public IsDirty ( ) : void
리턴 void

Load() 공개 메소드

Initializes an object from the stream where it was previously saved.
public Load ( IStream pstm ) : void
pstm IStream
리턴 void

Load() 공개 메소드

Loads the object properties from the stream.
The Load method must read the data from the stream in the same order the data was written to the stream in the Save method. Streams are sequential; you must ensure that your data is saved and loaded in the correct order, so that the correct data is written to the correct member.
public Load ( IVariantStream Stream ) : void
Stream IVariantStream
리턴 void

NewItem() 공개 메소드

Create a new item (does not add it to the layer)
public NewItem ( ) : DataRow
리턴 System.Data.DataRow

RemoveExtension() 공개 메소드

Removes the specified extension.
public RemoveExtension ( int Index ) : void
Index int
리턴 void

RemoveItem() 공개 메소드

Remove the item from the layer
public RemoveItem ( DataRow row ) : void
row System.Data.DataRow The row to remove
리턴 void

Save() 공개 메소드

Saves an object into the specified stream and indicates whether the object should reset its dirty flag.
public Save ( IStream pstm, int fClearDirty ) : void
pstm IStream
fClearDirty int
리턴 void

Save() 공개 메소드

Saves the object properties to the stream.
public Save ( IVariantStream Stream ) : void
Stream IVariantStream
리턴 void

Select() 공개 메소드

Query for items in the layer
public Select ( string queryFilter ) : System.Data.DataRow[]
queryFilter string WHERE clause
리턴 System.Data.DataRow[]

get_Extension() 공개 메소드

The extension at the specified index.
public get_Extension ( int Index ) : object
Index int
리턴 object

get_LegendGroup() 공개 메소드

Legend group at the specified index.
The content and number of legend groups is determined by the implementation of the renderer, consequently this property is read only.
public get_LegendGroup ( int Index ) : ILegendGroup
Index int
리턴 ILegendGroup

get_TipText() 공개 메소드

Map tip text at the specified location.
public get_TipText ( double X, double Y, double Tolerance ) : string
X double
Y double
Tolerance double
리턴 string

this() 공개 메소드

Indexer, returns the underlying DataRow for the given index
public this ( int index ) : DataRow
index int
리턴 System.Data.DataRow

프로퍼티 상세

m_ShowTips 보호되어 있는 프로퍼티

determines whether the layers is supposed to show its MapTips
protected bool m_ShowTips
리턴 bool

m_bCached 보호되어 있는 프로퍼티

determines whether the layers is cached. Returned by ILayer::Cached.
protected bool m_bCached
리턴 bool

m_bDrawDirty 보호되어 있는 프로퍼티

Indicates if the layer drawing properties are dirty.
protected bool m_bDrawDirty
리턴 bool

m_bValid 보호되어 있는 프로퍼티

Flag which determines whether the layer is valid (connected to its data source, has valid information etc.). Returned by ILAyer::Valid.
You can use this flag to determine for example whether the layer can be available or not.
protected bool m_bValid
리턴 bool

m_bVisible 보호되어 있는 프로퍼티

Flag which determines whether the layers is visible. Returned by ILayer::Visible
You should use this member in your inherited class in the Draw method.
protected bool m_bVisible
리턴 bool

m_dblMaxScale 보호되어 있는 프로퍼티

Keep the maximum scale value at which the layer will display
protected double m_dblMaxScale
리턴 double

m_dblMinScale 보호되어 있는 프로퍼티

Keep the minimum scale value at which the layer will display
protected double m_dblMinScale
리턴 double

m_extensions 보호되어 있는 프로퍼티

An arraylist to store the layer's extensions.
protected ArrayList,System.Collections m_extensions
리턴 System.Collections.ArrayList

m_extent 보호되어 있는 프로퍼티

Keep the layer's extent. Returned by the ILayer::Extent property
The extent should be spatial-referenced to the DateFrame's spatial reference.
protected IEnvelope m_extent
리턴 IEnvelope

m_hLargeBitmap 보호되어 있는 프로퍼티

Handle for the large bitmap
protected IntPtr,System m_hLargeBitmap
리턴 System.IntPtr

m_hSmallBitmap 보호되어 있는 프로퍼티

Handle for the small bitmap
protected IntPtr,System m_hSmallBitmap
리턴 System.IntPtr

m_largeBitmap 보호되어 있는 프로퍼티

The bitmap which represent the large image of the layer.
This image will be shown in ArcCatalog when in Thumbnail view
protected Bitmap,System.Drawing m_largeBitmap
리턴 System.Drawing.Bitmap

m_legendGroup 보호되어 있는 프로퍼티

The legend group to store the legend class required by the TOC for the layer's renderer. Returned by ILegendGroup::get_LegendGroup property.
protected ILegendGroup m_legendGroup
리턴 ILegendGroup

m_sName 보호되어 있는 프로퍼티

Layer's name. Returned by ILayer::Name property
protected string m_sName
리턴 string

m_smallBitmap 보호되어 있는 프로퍼티

The bitmap which represent the small image of the layer.
Shown in ArcCatalog or in the identify dialog
protected Bitmap,System.Drawing m_smallBitmap
리턴 System.Drawing.Bitmap

m_spRef 보호되어 있는 프로퍼티

Store the layer's underlying data spatial reference. Returned by IGeoDataset::SpatialReference.
This spatial reference should not be reprojected. In your inheriting class you will need to have another parameter that will keep the DataFrame's spatial reference that would use to reproject the geometries and the extent of the layer.
protected ISpatialReference m_spRef
리턴 ISpatialReference

m_table 보호되어 있는 프로퍼티

The data structure for the custom layer
By default, the DataTable gets initialized in the BaseClass Ctor with an ID column which is AutoIncremented. The BaseClass also support enumerator which is actually en enumerator of the table as well as a direct indexer.
protected DataTable,System.Data m_table
리턴 System.Data.DataTable