Aracılığıyla paylaş


CD2DGeometry Sınıfı

ID2D1Geometry için bir sarmalayıcı.

Sözdizimi

class CD2DGeometry : public CD2DResource;

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CD2DGeometry::CD2DGeometry CD2DGeometry nesnesi oluşturur.
CD2DGeometry::~CD2DGeometry Yok edici. Bir D2D geometri nesnesi yok edilirken çağrılır.

Genel Yöntemler

Veri Akışı Adı Açıklama
CD2DGeometry::Attach Var olan kaynak arabirimini nesneye ekler
CD2DGeometry::CombineWithGeometry Bu geometriyi belirtilen geometriyle birleştirir ve sonucu bir ID2D1SimplifiedGeometrySink içinde depolar.
CD2DGeometry::CompareWithGeometry Bu geometri ile belirtilen geometri arasındaki kesişimi açıklar. Karşılaştırma, belirtilen düzleştirme toleransı kullanılarak gerçekleştirilir.
CD2DGeometry::ComputeArea Belirtilen matris tarafından dönüştürüldükten ve belirtilen tolerans kullanılarak düzleştirilmiş geometri alanını hesaplar.
CD2DGeometry::ComputeLength Geometrinin uzunluğunu, her segmentin bir çizgiye kaydı kaldırılmış gibi hesaplar.
CD2DGeometry::ComputePointAtLength Belirtilen matris tarafından dönüştürüldükten ve belirtilen tolerans kullanılarak düzlendikten sonra geometri boyunca belirtilen mesafedeki nokta ve tanjant vektörünü hesaplar.
CD2DGeometry::D estroy CD2DGeometry nesnesini yok eder. (Geçersiz Kılmalar CD2DResource::D estroy.)
CD2DGeometry::D etach Kaynak arabirimini nesneden ayırır
CD2DGeometry::FillContainsPoint Geometri tarafından doldurulan alanın, belirtilen düzleştirme toleransı verildiğinde belirtilen noktayı içerip içermeyeceğini gösterir.
CD2DGeometry::Get ID2D1Geometry arabirimini döndürür
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds Belirtilen vuruş genişliği ve stili tarafından genişletildikten ve belirtilen matris tarafından dönüştürüldükten sonra geometrinin sınırlarını alır.
CD2DGeometry::IsValid Kaynak geçerliliğini denetler (CD2DResource::IsValid geçersiz kılar.)
CD2DGeometry::Outline Geometrinin ana hattını hesaplar ve sonucu bir ID2D1SimplifiedGeometrySink'e yazar.
CD2DGeometry::Simplify Geometrinin yalnızca çizgileri ve (isteğe bağlı olarak) bezier küp eğrilerini içeren basitleştirilmiş bir sürümünü oluşturur ve sonucu ID2D1SimplifiedGeometrySink'e yazar.
CD2DGeometry::StrokeContainsPoint Geometrinin vuruşunun, belirtilen vuruş kalınlığı, stili ve dönüşümü verilen belirtilen noktayı içerip içermediğini belirler.
CD2DGeometry::Tessellate Belirtilen matris kullanılarak dönüştürüldükten ve belirtilen tolerans kullanılarak düzleştirilmiş geometriyi kapsayan saat yönünde yara üçgenleri kümesi oluşturur.
CD2DGeometry::Widen Geometriyi belirtilen vuruşa göre genişletip, belirtilen matris tarafından dönüştürüldükten ve belirtilen tolerans kullanılarak düzleştirildikten sonra sonucu ID2D1SimplifiedGeometrySink'e yazar.

Ortak İşleçler

Veri Akışı Adı Açıklama
CD2DGeometry::operator ID2D1Geometry* ID2D1Geometry arabirimini döndürür

Korumalı Veri Üyeleri

Veri Akışı Adı Açıklama
CD2DGeometry::m_pGeometry ID2D1Geometry işaretçisi.

Devralma Hiyerarşisi

CObject

CD2DResource

CD2DGeometry

Gereksinimler

Üst bilgi: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

Yok edici. Bir D2D geometri nesnesi yok edilirken çağrılır.

virtual ~CD2DGeometry();

CD2DGeometry::Attach

Var olan kaynak arabirimini nesneye ekler

void Attach(ID2D1Geometry* pResource);

Parametreler

pResource
Mevcut kaynak arabirimi. NULL olamaz

CD2DGeometry::CD2DGeometry

CD2DGeometry nesnesi oluşturur.

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

Parametreler

pParentTarget
İşleme hedefine bir işaretçi.

bAutoDestroy
Nesnenin sahip tarafından yok edildiğini gösterir (pParentTarget).

CD2DGeometry::CombineWithGeometry

Bu geometriyi belirtilen geometriyle birleştirir ve sonucu bir ID2D1SimplifiedGeometrySink içinde depolar.

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

Parametreler

inputGeometry
Bu örnekle birleştirecek geometri.

combineMode
Gerçekleştirilecek birleştirme işleminin türü.

inputGeometryTransform
Birleştirmeden önce inputGeometry'ye uygulanacak dönüştürme.

geometrySink
Birleştirme işleminin sonucu.

flatteningTolerance
Geometrilerin çokgen yaklaşık cinsinden noktalar arasındaki uzaklık üzerindeki maksimum sınırdır. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::CompareWithGeometry

Bu geometri ile belirtilen geometri arasındaki kesişimi açıklar. Karşılaştırma, belirtilen düzleştirme toleransı kullanılarak gerçekleştirilir.

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

Parametreler

inputGeometry
Test için geometri.

inputGeometryTransform
inputGeometry'ye uygulanacak dönüştürme.

flatteningTolerance
Geometrilerin çokgen yaklaşık cinsinden noktalar arasındaki uzaklık üzerindeki maksimum sınırdır. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::ComputeArea

Belirtilen matris tarafından dönüştürüldükten ve belirtilen tolerans kullanılarak düzleştirilmiş geometri alanını hesaplar.

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

Parametreler

worldTransform
Alanını hesaplamadan önce bu geometriye uygulanacak dönüşüm.

alan
Bu yöntem döndürdüğünde, bu geometrinin dönüştürülmüş, düzleştirilmiş sürümünün alanına bir işaretçi içerir. Bu parametre için depolama ayırmanız gerekir.

flatteningTolerance
Geometrinin çokgen yaklaşık cinsinden noktaları arasındaki uzaklık üzerindeki maksimum sınırlar. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::ComputeLength

Geometrinin uzunluğunu, her segmentin bir çizgiye kaydı kaldırılmış gibi hesaplar.

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

Parametreler

worldTransform
Uzunluğunu hesaplamadan önce geometriye uygulanacak dönüştürme.

length
Bu yöntem döndürdüğünde, geometrinin uzunluğuna ilişkin bir işaretçi içerir. Kapalı geometriler için uzunluk örtük bir kapanış segmenti içerir. Bu parametre için depolama ayırmanız gerekir.

flatteningTolerance
Geometrinin çokgen yaklaşık cinsinden noktaları arasındaki uzaklık üzerindeki maksimum sınırlar. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::ComputePointAtLength

Belirtilen matris tarafından dönüştürüldükten ve belirtilen tolerans kullanılarak düzlendikten sonra geometri boyunca belirtilen mesafedeki nokta ve tanjant vektörünü hesaplar.

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

Parametreler

length
Noktanın geometrisi ve tanjant boyunca bulunan mesafe. Bu uzaklık 0'dan küçükse, bu yöntem geometrideki ilk noktayı hesaplar. Bu uzaklık geometrinin uzunluğundan büyükse, bu yöntem geometrideki son noktayı hesaplar.

worldTransform
Belirtilen nokta ve tanjant hesaplamadan önce geometriye uygulanacak dönüştürme.

nokta
Geometri boyunca belirtilen mesafedeki konum. Geometri boşsa bu nokta, x ve y değerleri olarak NaN içerir.

unitTangentVector
Bu yöntem döndürdüğünde, geometri boyunca belirtilen uzaklıkta tanjant vektöre yönelik bir işaretçi içerir. Geometri boşsa bu vektör, x ve y değerleri olarak NaN içerir. Bu parametre için depolama ayırmanız gerekir.

flatteningTolerance
Geometrinin çokgen yaklaşık cinsinden noktaları arasındaki uzaklık üzerindeki maksimum sınırlar. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::D estroy

CD2DGeometry nesnesini yok eder.

virtual void Destroy();

CD2DGeometry::D etach

Kaynak arabirimini nesneden ayırır

ID2D1Geometry* Detach();

Dönüş Değeri

Ayrılmış kaynak arabirimi işaretçisi.

CD2DGeometry::FillContainsPoint

Geometri tarafından doldurulan alanın, belirtilen düzleştirme toleransı verildiğinde belirtilen noktayı içerip içermeyeceğini gösterir.

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

Parametreler

nokta
Test etmek için gereken nokta.

worldTransform
Kapsama testi öncesinde geometriye uygulanacak dönüştürme.

Içerir
Bu yöntem döndürdüğünde, geometri tarafından doldurulan alan nokta içeriyorsa TRUE olan bir bool değeri içerir; aksi takdirde YANLIŞ. Bu parametre için depolama ayırmanız gerekir.

flatteningTolerance
Hassas geometrik yol ve yol kesişiminin hesaplandığı sayısal doğruluk. Dolguyu toleranstan daha az eksik olan noktalar yine de içinde dikkate alınır. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::Get

ID2D1Geometry arabirimini döndürür

ID2D1Geometry* Get();

Dönüş Değeri

Bir ID2D1Geometry arabiriminin işaretçisi veya nesne henüz başlatılmadıysa NULL.

CD2DGeometry::GetBounds

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

Parametreler

worldTransform
Sınır -ları

Dönüş Değeri

CD2DGeometry::GetWidenedBounds

Belirtilen vuruş genişliği ve stili tarafından genişletildikten ve belirtilen matris tarafından dönüştürüldükten sonra geometrinin sınırlarını alır.

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

Parametreler

strokeWidth
Ana hatlarını kullanarak geometriyi genişletme miktarı.

strokeStyle
Geometriyi genişleten vuruşun stili.

worldTransform
Geometri dönüştürüldükten sonra ve geometri konturlandıktan sonra geometriye uygulanacak bir dönüşüm.

Sınır -ları
Bu yöntem döndürdüğünde, genişletilen geometrinin sınırlarını içerir. Bu parametre için depolama ayırmanız gerekir.

flatteningTolerance
Geometrilerin çokgen yaklaşık cinsinden noktalar arasındaki uzaklık üzerindeki maksimum sınırdır. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::IsValid

Kaynak geçerliliğini denetler

virtual BOOL IsValid() const;

Dönüş Değeri

Kaynak geçerliyse TRUE; aksi takdirde YANLIŞ.

CD2DGeometry::m_pGeometry

ID2D1Geometry işaretçisi.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

ID2D1Geometry arabirimini döndürür

operator ID2D1Geometry*();

Dönüş Değeri

Bir ID2D1Geometry arabiriminin işaretçisi veya nesne henüz başlatılmadıysa NULL.

CD2DGeometry::Outline

Geometrinin ana hattını hesaplar ve sonucu bir ID2D1SimplifiedGeometrySink'e yazar.

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

Parametreler

worldTransform
Geometri ana hattına uygulanacak dönüştürme.

geometrySink
Geometrinin dönüştürdüğü ana hattın eklendiği ID2D1SimplifiedGeometrySink.

flatteningTolerance
Geometrinin çokgen yaklaşık cinsinden noktaları arasındaki uzaklık üzerindeki maksimum sınırlar. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::Simplify

Geometrinin yalnızca çizgileri ve (isteğe bağlı olarak) bezier küp eğrilerini içeren basitleştirilmiş bir sürümünü oluşturur ve sonucu ID2D1SimplifiedGeometrySink'e yazar.

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

Parametreler

simplificationOption
Basitleştirilmiş geometrinin eğriler içerip içermediğini belirten bir değer.

worldTransform
Basitleştirilmiş geometriye uygulanacak dönüştürme.

geometrySink
Basitleştirilmiş geometrinin eklendiği ID2D1SimplifiedGeometrySink.

flatteningTolerance
Geometrinin çokgen yaklaşık cinsinden noktaları arasındaki uzaklık üzerindeki maksimum sınırlar. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::StrokeContainsPoint

Geometrinin vuruşunun, belirtilen vuruş kalınlığı, stili ve dönüşümü verilen belirtilen noktayı içerip içermediğini belirler.

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

Parametreler

nokta
Kapsama için test edilmesi gereken nokta.

strokeWidth
Uygulanacak vuruşun kalınlığı.

strokeStyle
Uygulanacak vuruşun stili.

worldTransform
Vuruşlu geometriye uygulanacak dönüştürme.

Içerir
Bu yöntem döndürdüğünde, geometrinin vuruşu belirtilen noktayı içeriyorsa TRUE olarak ayarlanmış bir boole değeri içerir; aksi takdirde YANLIŞ. Bu parametre için depolama ayırmanız gerekir.

flatteningTolerance
Hassas geometrik yol ve yol kesişiminin hesaplandığı sayısal doğruluk. Vuruşu toleranstan daha az eksik olan noktalar yine de içinde dikkate alınır. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::Tessellate

Belirtilen matris kullanılarak dönüştürüldükten ve belirtilen tolerans kullanılarak düzleştirilmiş geometriyi kapsayan saat yönünde yara üçgenleri kümesi oluşturur.

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

Parametreler

worldTransform
Bu geometriye uygulanacak dönüştürme veya NULL.

tessellationSink
Tessellated öğesinin eklendiği ID2D1TessellationSink.

flatteningTolerance
Geometrinin çokgen yaklaşık cinsinden noktaları arasındaki uzaklık üzerindeki maksimum sınırlar. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

CD2DGeometry::Widen

Geometriyi belirtilen vuruşa göre genişletip, belirtilen matris tarafından dönüştürüldükten ve belirtilen tolerans kullanılarak düzleştirildikten sonra sonucu ID2D1SimplifiedGeometrySink'e yazar.

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

Parametreler

strokeWidth
Geometrinin genişletildiği miktar.

strokeStyle
Geometriye uygulanacak vuruş stili veya NULL.

worldTransform
Genişletildikten sonra geometriye uygulanacak dönüşüm.

geometrySink
Genişleyen geometrinin eklendiği ID2D1SimplifiedGeometrySink.

flatteningTolerance
Geometrinin çokgen yaklaşık cinsinden noktaları arasındaki uzaklık üzerindeki maksimum sınırlar. Daha küçük değerler daha doğru sonuçlar üretir, ancak yürütmenin yavaşmasına neden olur.

Dönüş Değeri

Yöntem başarılı olursa TRUE döndürür. Aksi takdirde YANLIŞ döndürür.

Ayrıca bkz.

Sınıflar