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에 대한 포인터입니다. |
상속 계층 구조
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를 반환합니다.