Click or drag to resize
XDL

XDMCompManager Class

XDMCompManager 클래스는 XDMComposite 인스턴스를 관리하는 기능을 갖는다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NRSXDMCompManager

Namespace:  Pixoneer.NXDL.NRS
Assembly:  NXDLrs (in NXDLrs.dll) Version: 1.2.817.72
Syntax
C#
public class XDMCompManager : IDisposable

The XDMCompManager type exposes the following members.

Constructors
  NameDescription
Public methodXDMCompManager
XDMCompManager 객체에 대하여 외부 비관리객체의 포인터를 입력받아 복사하여 초기화 한다.
Top
Properties
  NameDescription
Public propertyNumComp
색합성 인스턴스의 총 개수를 반환한다.
Public propertySR
XDMCompManager의 공간 좌표 시스템. 좌표 시스템은 제일 먼저 추가된 XDMComposite의 좌표 시스템으로 XDMCompManager의 좌표시스템을 기본 설정한다.
Top
Methods
  NameDescription
Public methodAddXDMComposite
색합성 인스턴스를 추가한다.
Public methodCalcBandRange
특정 밴드의 경계 영역을 계산한다.
Public methodCalcCompRange
특정 색합성 인스턴스의 경계영역을 계산한다.
Public methodCalcTotalRange
XDMCompManager에서 관리되는 모든 색합성 인스턴스의 경계 영역을 계산한다.
Public methodGetXDMCompositeAt
입력 인덱스에 대한 색합성 인스턴스를 얻는다.
Public methodMoveComposite
XDMComposite의 순서를 변경한다. XDMComposite의 순서대로 영상을 도시하기 때문에 이 함수를 통해 영상도시 순서를 변경할 수 있다.
Public methodRemoveXDMComposite
입력 XDMComposite객체와 동일한 객체를 내부 관리 배열에서 삭제한다.
Public methodRemoveXDMCompositeAll
Manager에서 관리되는 XDMComposite를 모두 삭제한다.
Public methodRemoveXDMCompositeAt
입력 인덱스에 있는 XDMComposite를 삭제한다.
Top
Examples
Red, Green, Blue 밴드 데이터를 이용하여 NXMapLayerComposites 객체의 XDMCompManager에 새로운 RGB 색합성 객체를 생성하고 설정하여 추가한다. 새로운 색합성 객체에는 입력 strech coverage, stretch type, cut type이 설정된다.
public void updateViewRGB(XDMBand bandR, XDMBand bandG, XDMBand bandB, NXMapLayerComposites compLayer, eCompStretchCoverage sc, eCompStretchType st, eCompCutType ct)
{
    compLayer.Lock();
    // get XDMCompManager and reset list
    XDMCompManager xdmCompManager = compLayer.GetXDMCompManager();
    for (int i = 0; i < xdmCompManager.NumComp; i++)
    {
        XDMComposite comp = xdmCompManager.GetXDMCompositeAt(i);
        comp.Dispose();
    }
    xdmCompManager.RemoveXDMCompositeAll();

    // Generate XDMComposite
    XDMComposite newComp = new XDMComposite();

    newComp.Mode = eCompMode.RGB;
    if (bandR != null) newComp.SetBand(ref bandR, 2);
    if (bandG != null) newComp.SetBand(ref bandG, 1);
    if (bandB != null) newComp.SetBand(ref bandB, 0);
    for (int i = 0; i < 3; i++)
    {
        newComp.SetCutType(ct, i);
        newComp.SetStretchCoverage(sc, i);
        newComp.SetStretchType(st, i);
    }

    xdmCompManager.AddXDMComposite(ref newComp);
    compLayer.ZoomFit();
    compLayer.Invalidate();
    compLayer.UnLock();
}
See Also