Bagikan melalui


Kelas CD2DGeometry

Pembungkus untuk ID2D1Geometry.

Sintaks

class CD2DGeometry : public CD2DResource;

Anggota

Konstruktor Publik

Nama Deskripsi
CD2DGeometry::CD2DGeometry Membuat objek CD2DGeometry.
CD2DGeometry::~CD2DGeometry Destruktor. Dipanggil ketika objek geometri D2D sedang dihancurkan.

Metode Publik

Nama Deskripsi
CD2DGeometry::Lampirkan Melampirkan antarmuka sumber daya yang ada ke objek
CD2DGeometry::CombineWithGeometry Menggabungkan geometri ini dengan geometri yang ditentukan dan menyimpan hasilnya dalam ID2D1SimplifiedGeometrySink.
CD2DGeometry::CompareWithGeometry Menjelaskan persimpangan antara geometri ini dan geometri yang ditentukan. Perbandingan dilakukan menggunakan toleransi meratakan yang ditentukan.
CD2DGeometry::ComputeArea Menghitung area geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.
CD2DGeometry::ComputeLength Menghitung panjang geometri seolah-olah setiap segmen tidak terkendali ke dalam baris.
CD2DGeometry::ComputePointAtLength Menghitung vektor titik dan tangen pada jarak yang ditentukan di sepanjang geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.
CD2DGeometry::D estroy Menghancurkan objek CD2DGeometry. (Penimpaan CD2DResource::D estroy.)
CD2DGeometry::D etach Mencopot antarmuka sumber daya dari objek
CD2DGeometry::FillContainsPoint Menunjukkan apakah area yang diisi oleh geometri akan berisi titik yang ditentukan mengingat toleransi merata yang ditentukan.
CD2DGeometry::Get Mengembalikan antarmuka ID2D1Geometry
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds Mendapatkan batas geometri setelah dilebarkan oleh lebar dan gaya goresan yang ditentukan dan diubah oleh matriks yang ditentukan.
CD2DGeometry::IsValid Memeriksa validitas sumber daya (Mengganti CD2DResource::IsValid.)
CD2DGeometry::Kerangka Menghitung kerangka geometri dan menulis hasilnya ke ID2D1SimplifiedGeometrySink.
CD2DGeometry::Sederhanakan Membuat versi geometri yang disederhanakan yang hanya berisi baris dan kurva Bezier kubik (opsional) dan menulis hasilnya ke ID2D1SimplifiedGeometrySink.
CD2DGeometry::StrokeContainsPoint Menentukan apakah goresan geometri berisi titik yang ditentukan mengingat ketebalan, gaya, dan transformasi goresan yang ditentukan.
CD2DGeometry::Tessellate Membuat satu set segitiga luka searah jarang yang menutupi geometri setelah diubah menggunakan matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.
CD2DGeometry::Widen Memperlebar geometri dengan goresan yang ditentukan dan menulis hasilnya ke ID2D1SimplifiedGeometrySink setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.

Operator Publik

Nama Deskripsi
CD2DGeometry::operator ID2D1Geometry* Mengembalikan antarmuka ID2D1Geometry

Anggota Data yang Dilindungi

Nama Deskripsi
CD2DGeometry::m_pGeometry Penunjuk ke ID2D1Geometry.

Hierarki Warisan

CObject

CD2DResource

CD2DGeometry

Persyaratan

Header: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

Destruktor. Dipanggil ketika objek geometri D2D sedang dihancurkan.

virtual ~CD2DGeometry();

CD2DGeometry::Lampirkan

Melampirkan antarmuka sumber daya yang ada ke objek

void Attach(ID2D1Geometry* pResource);

Parameter

pResource
Antarmuka sumber daya yang ada. Tidak boleh NULL

CD2DGeometry::CD2DGeometry

Membuat objek CD2DGeometry.

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

Parameter

pParentTarget
Penunjuk ke target render.

bAutoDestroy
Menunjukkan bahwa objek akan dihancurkan oleh pemilik (pParentTarget).

CD2DGeometry::CombineWithGeometry

Menggabungkan geometri ini dengan geometri yang ditentukan dan menyimpan hasilnya dalam ID2D1SimplifiedGeometrySink.

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

Parameter

inputGeometry
Geometri untuk digabungkan dengan instans ini.

combineMode
Jenis operasi gabungan yang akan dilakukan.

inputGeometryTransform
Transformasi untuk diterapkan ke inputGeometry sebelum menggabungkan.

geometrySink
Hasil operasi gabungan.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::CompareWithGeometry

Menjelaskan persimpangan antara geometri ini dan geometri yang ditentukan. Perbandingan dilakukan menggunakan toleransi meratakan yang ditentukan.

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

Parameter

inputGeometry
Geometri yang akan diuji.

inputGeometryTransform
Transformasi untuk diterapkan ke inputGeometry.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::ComputeArea

Menghitung area geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.

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

Parameter

worldTransform
Transformasi untuk diterapkan ke geometri ini sebelum menghitung areanya.

daerah
Ketika metode ini kembali, berisi penunjuk ke area dari versi geometri ini yang ditransformasi dan diratakan. Anda harus mengalokasikan penyimpanan untuk parameter ini.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::ComputeLength

Menghitung panjang geometri seolah-olah setiap segmen tidak terkendali ke dalam baris.

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

Parameter

worldTransform
Transformasi untuk diterapkan ke geometri sebelum menghitung panjangnya.

length
Ketika metode ini kembali, berisi penunjuk ke panjang geometri. Untuk geometri tertutup, panjangnya termasuk segmen penutup implisit. Anda harus mengalokasikan penyimpanan untuk parameter ini.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::ComputePointAtLength

Menghitung vektor titik dan tangen pada jarak yang ditentukan di sepanjang geometri setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.

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

Parameter

length
Jarak di sepanjang geometri titik dan tangen untuk menemukan. Jika jarak ini kurang dari 0, metode ini menghitung titik pertama dalam geometri. Jika jarak ini lebih besar dari panjang geometri, metode ini menghitung titik terakhir dalam geometri.

worldTransform
Transformasi untuk diterapkan ke geometri sebelum menghitung titik dan tangen yang ditentukan.

ujung
Lokasi pada jarak yang ditentukan di sepanjang geometri. Jika geometri kosong, titik ini berisi NaN sebagai nilai x dan y-nya.

unitTangentVector
Ketika metode ini kembali, berisi penunjuk ke vektor tangen pada jarak yang ditentukan di sepanjang geometri. Jika geometri kosong, vektor ini berisi NaN sebagai nilai x dan y-nya. Anda harus mengalokasikan penyimpanan untuk parameter ini.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::D estroy

Menghancurkan objek CD2DGeometry.

virtual void Destroy();

CD2DGeometry::D etach

Mencopot antarmuka sumber daya dari objek

ID2D1Geometry* Detach();

Tampilkan Nilai

Penunjuk ke antarmuka sumber daya yang dilepas.

CD2DGeometry::FillContainsPoint

Menunjukkan apakah area yang diisi oleh geometri akan berisi titik yang ditentukan mengingat toleransi merata yang ditentukan.

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

Parameter

ujung
Titik untuk diuji.

worldTransform
Transformasi yang akan diterapkan ke geometri sebelum pengujian penahanan.

mengandung
Ketika metode ini kembali, berisi nilai bool yang TRUE jika area yang diisi oleh geometri berisi titik; jika tidak, FALSE. Anda harus mengalokasikan penyimpanan untuk parameter ini.

flatteningTolerance
Akurasi numerik tempat jalur geometrik dan persimpangan jalur yang tepat dihitung. Poin yang kehilangan pengisian kurang dari toleransi masih dipertimbangkan di dalamnya. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::Get

Mengembalikan antarmuka ID2D1Geometry

ID2D1Geometry* Get();

Tampilkan Nilai

Penunjuk ke antarmuka ID2D1Geometry atau NULL jika objek belum diinisialisasi.

CD2DGeometry::GetBounds

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

Parameter

worldTransform
Batas

Tampilkan Nilai

CD2DGeometry::GetWidenedBounds

Mendapatkan batas geometri setelah dilebarkan oleh lebar dan gaya goresan yang ditentukan dan diubah oleh matriks yang ditentukan.

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

Parameter

strokeWidth
Jumlah untuk memperluas geometri dengan membentur garis luarnya.

strokeStyle
Gaya goresan yang melebarkan geometri.

worldTransform
Transformasi untuk diterapkan ke geometri setelah geometri diubah dan setelah geometri di-stroke.

Batas
Ketika metode ini kembali, berisi batas geometri yang diperlebar. Anda harus mengalokasikan penyimpanan untuk parameter ini.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::IsValid

Memeriksa validitas sumber daya

virtual BOOL IsValid() const;

Tampilkan Nilai

TRUE jika sumber daya valid; jika tidak FALSE.

CD2DGeometry::m_pGeometry

Penunjuk ke ID2D1Geometry.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

Mengembalikan antarmuka ID2D1Geometry

operator ID2D1Geometry*();

Tampilkan Nilai

Penunjuk ke antarmuka ID2D1Geometry atau NULL jika objek belum diinisialisasi.

CD2DGeometry::Kerangka

Menghitung kerangka geometri dan menulis hasilnya ke ID2D1SimplifiedGeometrySink.

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

Parameter

worldTransform
Transformasi untuk diterapkan ke kerangka geometri.

geometrySink
ID2D1SimplifiedGeometrySink tempat garis besar yang diubah geometri ditambahkan.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::Sederhanakan

Membuat versi geometri yang disederhanakan yang hanya berisi baris dan kurva Bezier kubik (opsional) dan menulis hasilnya ke ID2D1SimplifiedGeometrySink.

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

Parameter

simplificationOption
Nilai yang menentukan apakah geometri yang disederhanakan harus berisi kurva.

worldTransform
Transformasi yang akan diterapkan ke geometri yang disederhanakan.

geometrySink
ID2D1SimplifiedGeometrySink tempat geometri yang disederhanakan ditambahkan.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::StrokeContainsPoint

Menentukan apakah goresan geometri berisi titik yang ditentukan mengingat ketebalan, gaya, dan transformasi goresan yang ditentukan.

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

Parameter

ujung
Titik untuk menguji penahanan.

strokeWidth
Ketebalan stroke untuk diterapkan.

strokeStyle
Gaya goresan yang akan diterapkan.

worldTransform
Transformasi untuk diterapkan pada geometri goresan.

mengandung
Ketika metode ini kembali, berisi nilai boolean yang diatur ke TRUE jika goresan geometri berisi titik yang ditentukan; jika tidak, FALSE. Anda harus mengalokasikan penyimpanan untuk parameter ini.

flatteningTolerance
Akurasi numerik tempat jalur geometrik dan persimpangan jalur yang tepat dihitung. Poin yang hilang stroke kurang dari toleransi masih dipertimbangkan di dalam. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::Tessellate

Membuat satu set segitiga luka searah jarang yang menutupi geometri setelah diubah menggunakan matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.

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

Parameter

worldTransform
Transformasi untuk diterapkan ke geometri ini, atau NULL.

tessellationSink
ID2D1TessellationSink tempat tessellated ditambahkan.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

CD2DGeometry::Widen

Memperlebar geometri dengan goresan yang ditentukan dan menulis hasilnya ke ID2D1SimplifiedGeometrySink setelah diubah oleh matriks yang ditentukan dan diratakan menggunakan toleransi yang ditentukan.

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

Parameter

strokeWidth
Jumlah untuk memperlebar geometri.

strokeStyle
Gaya goresan untuk diterapkan ke geometri, atau NULL.

worldTransform
Transformasi untuk diterapkan ke geometri setelah melebarkannya.

geometrySink
ID2D1SimplifiedGeometrySink tempat geometri yang diperlebar ditambahkan.

flatteningTolerance
Batas maksimum pada jarak antara titik dalam perkiraan poligonal geometri. Nilai yang lebih kecil menghasilkan hasil yang lebih akurat tetapi menyebabkan eksekusi yang lebih lambat.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan TRUE. Jika tidak, ia mengembalikan FALSE.

Lihat juga

Kelas