다음을 통해 공유


CD2DGeometry 클래스

ID2D1Geometry에 대한 래퍼입니다.

구문

class CD2DGeometry : public CD2DResource;

멤버

공용 생성자

속성 설명
CD2DGeometry::CD2DGeometry CD2DGeometry 개체를 생성합니다.
CD2DGeometry::~CD2DGeometry 소멸자입니다. D2D 기하 도형 개체가 제거될 때 호출됩니다.

공용 메서드

이름 설명
CD2DGeometry::Attach 개체에 기존 리소스 인터페이스 연결
CD2DGeometry::CombineWithGeometry 이 기하 도형을 지정된 기하 도형과 결합하고 결과를 ID2D1SimplifiedGeometrySink에 저장합니다.
CD2DGeometry::CompareWithGeometry 이 기하 도형과 지정된 기하 도형 간의 교집합을 설명합니다. 비교는 지정된 평면화 허용 오차를 사용하여 수행됩니다.
CD2DGeometry::ComputeArea 지정된 행렬에 의해 변형되고 지정된 허용 오차를 사용하여 평면화된 후 기하 도형의 영역을 계산합니다.
CD2DGeometry::ComputeLength 각 세그먼트가 선으로 언롤된 것처럼 기하 도형의 길이를 계산합니다.
CD2DGeometry::ComputePointAtLength 지정된 행렬에 의해 변형되고 지정된 허용 오차를 사용하여 평면화된 후 기하 도형을 따라 지정된 거리에서 점 및 탄젠트 벡터를 계산합니다.
CD2DGeometry::D estroy CD2DGeometry 개체를 제거합니다. (재정의 CD2DResource::D estroy.)
CD2DGeometry::D etach 개체에서 리소스 인터페이스를 분리합니다.
CD2DGeometry::FillContainsPoint 기하 도형으로 채워진 영역에 지정된 평면화 허용 오차가 지정된 점을 포함할지 여부를 나타냅니다.
CD2DGeometry::Get ID2D1Geometry 인터페이스를 반환합니다.
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds 지정한 스트로크 너비와 스타일에 의해 확장되고 지정된 행렬에 의해 변환된 후 기하 도형의 경계를 가져옵니다.
CD2DGeometry::IsValid 리소스 유효성 검사(CD2DResource::IsValid 재정의)
CD2DGeometry::Outline 기하 도형의 윤곽선을 계산하고 결과를 ID2D1SimplifiedGeometrySink에 씁니다.
CD2DGeometry::간소화 선과 (선택적으로) 입방형 베지어 곡선만 포함하는 단순화된 기하 도형 버전을 만들고 결과를 ID2D1SimplifiedGeometrySink에 씁니다.
CD2DGeometry::StrokeContainsPoint 지정된 스트로크 두께, 스타일 및 변환에 따라 기하 도형의 스트로크에 지정된 점이 포함되어 있는지 여부를 결정합니다.
CD2DGeometry::Tessellate 지정된 행렬을 사용하여 변형되고 지정된 허용 오차를 사용하여 평면화된 후 기하 도형을 덮는 시계 방향으로 감겨진 삼각형 집합을 만듭니다.
CD2DGeometry::Widen 지정된 스트로크로 기하 도형을 넓히고 지정된 행렬에 의해 변환되고 지정된 허용 오차를 사용하여 평면화된 후 결과를 ID2D1SimplifiedGeometrySink에 씁니다.

Public 연산자

속성 설명
CD2DGeometry::operator ID2D1Geometry* ID2D1Geometry 인터페이스를 반환합니다.

보호된 데이터 멤버

속성 설명
CD2DGeometry::m_pGeometry ID2D1Geometry에 대한 포인터입니다.

상속 계층 구조

CObject

CD2DResource

CD2DGeometry

요구 사항

헤더: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

소멸자입니다. D2D 기하 도형 개체가 제거될 때 호출됩니다.

virtual ~CD2DGeometry();

CD2DGeometry::Attach

개체에 기존 리소스 인터페이스 연결

void Attach(ID2D1Geometry* pResource);

매개 변수

pResource
기존 리소스 인터페이스입니다. NULL일 수 없음

CD2DGeometry::CD2DGeometry

CD2DGeometry 개체를 생성합니다.

CD2DGeometry(
    CRenderTarget* pParentTarget,
    BOOL bAutoDestroy = TRUE);

매개 변수

pParentTarget
렌더링 대상에 대한 포인터입니다.

bAutoDestroy
개체가 소유자(pParentTarget)에 의해 제거됨을 나타냅니다.

CD2DGeometry::CombineWithGeometry

이 기하 도형을 지정된 기하 도형과 결합하고 결과를 ID2D1SimplifiedGeometrySink에 저장합니다.

BOOL CombineWithGeometry(
    CD2DGeometry& inputGeometry,
    D2D1_COMBINE_MODE combineMode,
    const D2D1_MATRIX_3X2_F& inputGeometryTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

inputGeometry
이 인스턴스와 결합할 기하 도형입니다.

combineMode
수행할 결합 작업의 형식입니다.

inputGeometryTransform
결합하기 전에 inputGeometry에 적용할 변환입니다.

geometrySink
결합 작업의 결과입니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::CompareWithGeometry

이 기하 도형과 지정된 기하 도형 간의 교집합을 설명합니다. 비교는 지정된 평면화 허용 오차를 사용하여 수행됩니다.

D2D1_GEOMETRY_RELATION CompareWithGeometry(
    CD2DGeometry& inputGeometry,
    const D2D1_MATRIX_3X2_F& inputGeometryTransform,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

inputGeometry
테스트할 기하 도형입니다.

inputGeometryTransform
inputGeometry에 적용할 변환입니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::ComputeArea

지정된 행렬에 의해 변형되고 지정된 허용 오차를 사용하여 평면화된 후 기하 도형의 영역을 계산합니다.

BOOL ComputeArea(
    const D2D1_MATRIX_3X2_F& worldTransform,
    FLOAT& area,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

worldTransform
영역을 계산하기 전에 이 기하 도형에 적용할 변환입니다.

area
이 메서드가 반환될 때 이 기하 도형의 변환되고 평면화된 버전의 영역에 대한 포인터를 포함합니다. 이 매개 변수에 대한 스토리지를 할당해야 합니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::ComputeLength

각 세그먼트가 선으로 언롤된 것처럼 기하 도형의 길이를 계산합니다.

BOOL ComputeLength(
    const D2D1_MATRIX_3X2_F& worldTransform,
    FLOAT& length,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

worldTransform
길이를 계산하기 전에 기하 도형에 적용할 변환입니다.

length
이 메서드가 반환되면 기하 도형의 길이에 대한 포인터를 포함합니다. 닫힌 기하 도형의 경우 길이에는 암시적 닫는 세그먼트가 포함됩니다. 이 매개 변수에 대한 스토리지를 할당해야 합니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::ComputePointAtLength

지정된 행렬에 의해 변형되고 지정된 허용 오차를 사용하여 평면화된 후 기하 도형을 따라 지정된 거리에서 점 및 탄젠트 벡터를 계산합니다.

BOOL ComputePointAtLength(
    FLOAT length,
    const D2D1_MATRIX_3X2_F& worldTransform,
    CD2DPointF& point,
    CD2DPointF& unitTangentVector,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

length
찾을 점 및 탄젠트 기하 도형을 따라의 거리입니다. 이 거리가 0보다 작으면 이 메서드는 기하 도형의 첫 번째 점을 계산합니다. 이 거리가 기하 도형의 길이보다 크면 이 메서드는 기하 도형의 마지막 점을 계산합니다.

worldTransform
지정된 점과 탄젠트를 계산하기 전에 기하 도형에 적용할 변환입니다.

point
기하 도형을 따라 지정된 거리에 있는 위치입니다. 기하 도형이 비어 있으면 이 점에는 NaN이 x 및 y 값으로 포함됩니다.

unitTangentVector
이 메서드가 반환될 때 기하 도형을 따라 지정된 거리에 있는 탄젠트 벡터에 대한 포인터를 포함합니다. 기하 도형이 비어 있으면 이 벡터에는 NaN이 x 및 y 값으로 포함됩니다. 이 매개 변수에 대한 스토리지를 할당해야 합니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::D estroy

CD2DGeometry 개체를 제거합니다.

virtual void Destroy();

CD2DGeometry::D etach

개체에서 리소스 인터페이스를 분리합니다.

ID2D1Geometry* Detach();

Return Value

분리된 리소스 인터페이스에 대한 포인터입니다.

CD2DGeometry::FillContainsPoint

기하 도형으로 채워진 영역에 지정된 평면화 허용 오차가 지정된 점을 포함할지 여부를 나타냅니다.

BOOL FillContainsPoint(
    CD2DPointF point,
    const D2D1_MATRIX_3X2_F& worldTransform,
    BOOL* contains,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

point
테스트할 지점입니다.

worldTransform
포함을 테스트하기 전에 기하 도형에 적용할 변환입니다.

contains
이 메서드가 반환되면 기하 도형으로 채워진 영역에 점이 포함된 경우 TRUE인 부울 값이 포함됩니다. 그렇지 않으면 FALSE입니다. 이 매개 변수에 대한 스토리지를 할당해야 합니다.

flatteningTolerance
정확한 기하학적 경로와 경로 교집합이 계산되는 숫자 정확도입니다. 허용 오차보다 작은 채우기가 누락된 지점은 여전히 내부에서 고려됩니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::Get

ID2D1Geometry 인터페이스를 반환합니다.

ID2D1Geometry* Get();

Return Value

ID2D1Geometry 인터페이스에 대한 포인터이거나, 개체가 아직 초기화되지 않은 경우 NULL입니다.

CD2DGeometry::GetBounds

BOOL GetBounds(
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds) const;

매개 변수

worldTransform
범위

Return Value

CD2DGeometry::GetWidenedBounds

지정한 스트로크 너비와 스타일에 의해 확장되고 지정된 행렬에 의해 변환된 후 기하 도형의 경계를 가져옵니다.

BOOL GetWidenedBounds(
    FLOAT strokeWidth,
    ID2D1StrokeStyle* strokeStyle,
    const D2D1_MATRIX_3X2_F& worldTransform,
    CD2DRectF& bounds,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

strokeWidth
윤곽선을 쓰다듬어 기하 도형을 넓히기 위한 양입니다.

strokeStyle
기하 도형을 넓히게 하는 스트로크의 스타일입니다.

worldTransform
기하 도형이 변환된 후 및 기하 도형이 스트로크된 후 기하 도형에 적용할 변환입니다.

범위
이 메서드가 반환될 때 확장된 기하 도형의 경계가 포함됩니다. 이 매개 변수에 대한 스토리지를 할당해야 합니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::IsValid

리소스 유효성 검사

virtual BOOL IsValid() const;

Return Value

TRUE이면 리소스가 유효합니다. 그렇지 않으면 FALSE입니다.

CD2DGeometry::m_pGeometry

ID2D1Geometry에 대한 포인터입니다.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

ID2D1Geometry 인터페이스를 반환합니다.

operator ID2D1Geometry*();

Return Value

ID2D1Geometry 인터페이스에 대한 포인터이거나, 개체가 아직 초기화되지 않은 경우 NULL입니다.

CD2DGeometry::Outline

기하 도형의 윤곽선을 계산하고 결과를 ID2D1SimplifiedGeometrySink에 씁니다.

BOOL Outline(
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

worldTransform
기하 도형 윤곽선에 적용할 변환입니다.

geometrySink
기하 도형 변환된 윤곽선이 추가되는 ID2D1SimplifiedGeometrySink입니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::간소화

선과 (선택적으로) 입방형 베지어 곡선만 포함하는 단순화된 기하 도형 버전을 만들고 결과를 ID2D1SimplifiedGeometrySink에 씁니다.

BOOL Simplify(
    D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

simplificationOption
간소화된 기하 도형에 곡선이 포함되어야 하는지 여부를 지정하는 값입니다.

worldTransform
간소화된 기하 도형에 적용할 변환입니다.

geometrySink
간소화된 기하 도형이 추가되는 ID2D1SimplifiedGeometrySink입니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::StrokeContainsPoint

지정된 스트로크 두께, 스타일 및 변환에 따라 기하 도형의 스트로크에 지정된 점이 포함되어 있는지 여부를 결정합니다.

BOOL StrokeContainsPoint(
    CD2DPointF point,
    FLOAT strokeWidth,
    ID2D1StrokeStyle* strokeStyle,
    const D2D1_MATRIX_3X2_F& worldTransform,
    BOOL* contains,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

point
포함을 테스트할 지점입니다.

strokeWidth
적용할 스트로크의 두께입니다.

strokeStyle
적용할 스트로크의 스타일입니다.

worldTransform
스트로크된 기하 도형에 적용할 변환입니다.

contains
이 메서드가 반환될 때 기하 도형의 스트로크에 지정된 점이 포함된 경우 TRUE로 설정된 부울 값이 포함됩니다. 그렇지 않으면 FALSE입니다. 이 매개 변수에 대한 스토리지를 할당해야 합니다.

flatteningTolerance
정확한 기하학적 경로와 경로 교집합이 계산되는 숫자 정확도입니다. 허용 오차보다 작은 스트로크가 누락된 지점은 여전히 내부에서 고려됩니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::Tessellate

지정된 행렬을 사용하여 변형되고 지정된 허용 오차를 사용하여 평면화된 후 기하 도형을 덮는 시계 방향으로 감겨진 삼각형 집합을 만듭니다.

BOOL Tessellate(
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1TessellationSink* tessellationSink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

worldTransform
이 기하 도형 또는 NULL에 적용할 변환입니다.

tessellationSink
테셀레이션이 추가되는 ID2D1TessellationSink입니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

CD2DGeometry::Widen

지정된 스트로크로 기하 도형을 넓히고 지정된 행렬에 의해 변환되고 지정된 허용 오차를 사용하여 평면화된 후 결과를 ID2D1SimplifiedGeometrySink에 씁니다.

BOOL Widen(
    FLOAT strokeWidth,
    ID2D1StrokeStyle* strokeStyle,
    const D2D1_MATRIX_3X2_F& worldTransform,
    ID2D1SimplifiedGeometrySink* geometrySink,
    FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;

매개 변수

strokeWidth
기하 도형을 넓히기 위한 양입니다.

strokeStyle
기하 도형 또는 NULL에 적용할 스트로크 스타일입니다.

worldTransform
확장한 후 기하 도형에 적용할 변환입니다.

geometrySink
확장된 기하 도형이 추가되는 ID2D1SimplifiedGeometrySink입니다.

flatteningTolerance
기하 도형의 다각형 근사치에 있는 점 사이의 거리에 있는 최대 범위입니다. 값이 작을수록 더 정확한 결과가 생성되지만 실행 속도가 느려집니다.

Return Value

메서드가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

참고 항목

클래스