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
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.