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: 2.0.3.38
Syntax
C#
public class XDMCompManager : IDisposable

The XDMCompManager type exposes the following members.

Constructors
 NameDescription
Public methodXDMCompManager XDMCompManager 객체의 기본 생성자로서 멤버 변수들을 초기화한다.
Public methodXDMCompManager(XDMCompManager*) XDMCompManager 객체에 대하여 외부 비관리객체의 포인터를 입력받아 복사하여 초기화한다.
Top
Properties
 NameDescription
Public propertyNumComp 색합성 인스턴스의 총 개수를 반환한다.
Public propertySR XDMCompManager의 공간 좌표 시스템. 좌표 시스템은 제일 먼저 추가된 XDMComposite의 좌표 시스템으로 XDMCompManager의 좌표시스템을 기본 설정한다.
Top
Methods
 NameDescription
Public methodAddXDMComposite 색합성 인스턴스를 배열의 제일 앞에 추가한다.
Public methodAddXDMCompositeTail 색합성 인스턴스를 배열의 제일 마지막에 추가한다.
Public methodCalcBandRange 특정 밴드의 경계 영역을 계산한다.
Public methodCalcCompRange 특정 색합성 인스턴스의 경계영역을 계산한다.
Public methodCalcTotalRange XDMCompManager에서 관리되는 모든 색합성 인스턴스의 경계 영역을 계산한다.
Public methodGetXDMCompositeAt입력 인덱스에 대한 색합성 인스턴스를 얻는다.
Public methodMoveComposite XDMComposite의 순서를 변경한다. XDMComposite의 순서대로 영상을 도시하기 때문에 이 함수를 통해 영상도시 순서를 변경할 수 있다.
Public methodRemoveXDMComposite입력 XDMComposite객체와 동일한 객체를 내부 관리 배열에서 삭제한다.
Public methodRemoveXDMCompositeAll Manager에서 관리되는 XDMComposite를 모두 삭제한다.
Public methodRemoveXDMCompositeAt입력 인덱스에 있는 XDMComposite를 삭제한다.
Top
Example
Red, Green, Blue 밴드 데이터를 이용하여 NXImageLayerComposites 객체의 XDMCompManager에 새로운 RGB 색합성 객체를 생성하고 설정하여 추가한다. 새로운 색합성 객체에는 입력 strech coverage, stretch type, cut type이 설정된다.
C#
public void updateViewRGB(XDMBand bandR, XDMBand bandG, XDMBand bandB, NXImageLayerComposites 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, eCompBandIdx.Red);
    if (bandG != null) newComp.SetBand(ref bandG, eCompBandIdx.Green);
    if (bandB != null) newComp.SetBand(ref bandB, eCompBandIdx.Blue);
    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