Megosztás a következőn keresztül:


CD2DGeometry osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Az ID2D1Geometry burkolója.

Szemantika

class CD2DGeometry : public CD2DResource;

Tagok

Nyilvános konstruktorok

Név Description
CD2DGeometry::CD2DGeometry CD2DGeometry objektumot hoz létre.
CD2DGeometry::~CD2DGeometry A destruktor. Egy D2D geometriai objektum megsemmisítésekor hívható meg.

Nyilvános metódusok

Név Description
CD2DGeometry::Attach Meglévő erőforrás-felület csatolása az objektumhoz
CD2DGeometry::CombineWithGeometry Egyesíti ezt a geometriát a megadott geometriával, és az eredményt egy ID2D1SimplifiedGeometrySinkben tárolja.
CD2DGeometry::CompareWithGeometry A geometria és a megadott geometria metszetét ismerteti. Az összehasonlítás a megadott simítási tűrés használatával történik.
CD2DGeometry::ComputeArea Kiszámítja a geometria területét, miután a megadott mátrix átalakította, és a megadott tűréshatár alapján simított.
CD2DGeometry::ComputeLength Úgy számítja ki a geometria hosszát, mintha az egyes szegmensek nem lettek volna sorba rendezve.
CD2DGeometry::ComputePointAtLength Kiszámítja a pont- és érintővektort a megadott távolságra a geometria mentén, miután a megadott mátrix átalakította, és a megadott tolerancia használatával simított.
CD2DGeometry::D estroy Elpusztít egy CD2DGeometry objektumot. (Felülbírálja a CD2DResource::D estroy.)
CD2DGeometry::D etach Az erőforrás-felület leválasztása az objektumról
CD2DGeometry::FillContainsPoint Azt jelzi, hogy a geometria által kitöltött terület tartalmazná-e a megadott pontot a megadott elsimítási tűrés miatt.
CD2DGeometry::Get Id2D1Geometry interfészt ad vissza
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds Lekéri a geometria határait, miután a megadott körvonalszélesség és -stílus ki lett szélesítve, és a megadott mátrix átalakítja.
CD2DGeometry::IsValid Ellenőrzi az erőforrás érvényességét (felülírja a CD2DResource::IsValid.)
CD2DGeometry::Outline Kiszámítja a geometria körvonalát, és az eredményt egy ID2D1SimplifiedGeometrySinkre írja.
CD2DGeometry::Egyszerűsítés A geometria egyszerűsített verzióját hozza létre, amely csak vonalakat és (opcionálisan) köb Bezier-görbéket tartalmaz, és az eredményt egy ID2D1SimplifiedGeometrySinkre írja.
CD2DGeometry::StrokeContainsPoint Meghatározza, hogy a geometria körvonala tartalmazza-e a megadott pontot a megadott vonásvastagság, stílus és átalakítás alapján.
CD2DGeometry::Tessellate Létrehoz egy óramutató járásával megegyező irányú háromszögeket, amelyek lefedik a geometriát, miután a megadott mátrix használatával átalakították, és a megadott tolerancia használatával simították.
CD2DGeometry::Widen Kibővíti a geometriát a megadott vonással, és az eredményt egy ID2D1SimplifiedGeometrySink értékre írja, miután a megadott mátrix átalakította, és a megadott tolerancia használatával simította.

Nyilvános operátorok

Név Description
CD2DGeometry::operator ID2D1Geometry* Id2D1Geometry interfészt ad vissza

Védett adattagok

Név Description
CD2DGeometry::m_pGeometry Egy ID2D1Geometry mutatója.

Öröklési hierarchia

CObject

CD2DResource

CD2DGeometry

Requirements

Fejléc: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

A destruktor. Egy D2D geometriai objektum megsemmisítésekor hívható meg.

virtual ~CD2DGeometry();

CD2DGeometry::Attach

Meglévő erőforrás-felület csatolása az objektumhoz

void Attach(ID2D1Geometry* pResource);

Paraméterek

pResource
Meglévő erőforrás-felület. Nem lehet NULL

CD2DGeometry::CD2DGeometry

CD2DGeometry objektumot hoz létre.

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

Paraméterek

pParentTarget
Mutató a renderelési célhoz.

bAutoDestroy
Azt jelzi, hogy az objektumot a tulajdonos megsemmisíti (pParentTarget).

CD2DGeometry::CombineWithGeometry

Egyesíti ezt a geometriát a megadott geometriával, és az eredményt egy ID2D1SimplifiedGeometrySinkben tárolja.

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

Paraméterek

inputGeometry
A példánnyal kombinálandó geometria.

combineMode
A végrehajtandó egyesítési művelet típusa.

inputGeometryTransform
Az inputGeometryre alkalmazandó átalakítás az egyesítés előtt.

geometrySink
Az összevonási művelet eredménye.

egybesimítótolerancia
A geometriák sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::CompareWithGeometry

A geometria és a megadott geometria metszetét ismerteti. Az összehasonlítás a megadott simítási tűrés használatával történik.

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

Paraméterek

inputGeometry
A tesztelni kívánt geometria.

inputGeometryTransform
Az inputGeometryre alkalmazandó átalakítás.

egybesimítótolerancia
A geometriák sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::ComputeArea

Kiszámítja a geometria területét, miután a megadott mátrix átalakította, és a megadott tűréshatár alapján simított.

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

Paraméterek

worldTransform
Az átalakítás, amely a terület számítása előtt alkalmazható erre a geometriára.

Terület
Amikor ez a metódus visszatér, a geometria átalakított, lapított verziójának területére mutató mutatót tartalmaz. Ehhez a paraméterhez tárterületet kell lefoglalnia.

egybesimítótolerancia
A geometria sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::ComputeLength

Úgy számítja ki a geometria hosszát, mintha az egyes szegmensek nem lettek volna sorba rendezve.

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

Paraméterek

worldTransform
A geometriára alkalmazandó átalakítás a hossz kiszámítása előtt.

length
Amikor ez a metódus visszatér, a geometria hosszára mutató mutatót tartalmaz. Zárt geometriák esetén a hossz egy implicit záró szegmenst tartalmaz. Ehhez a paraméterhez tárterületet kell lefoglalnia.

egybesimítótolerancia
A geometria sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::ComputePointAtLength

Kiszámítja a pont- és érintővektort a megadott távolságra a geometria mentén, miután a megadott mátrix átalakította, és a megadott tolerancia használatával simított.

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

Paraméterek

length
A pont geometriája mentén található távolság és a megtalálandó érintő. Ha ez a távolság kisebb, mint 0, ez a módszer kiszámítja a geometria első pontjának értékét. Ha ez a távolság nagyobb, mint a geometria hossza, ez a módszer kiszámítja a geometria utolsó pontját.

worldTransform
A geometriára alkalmazandó átalakítás a megadott pont és tangens kiszámítása előtt.

Pont
A megadott távolságban lévő hely a geometria mentén. Ha a geometria üres, ez a pont a NaN értéket tartalmazza x és y értékként.

unitTangentVector
Amikor ez a módszer visszatér, a geometria megadott távolságán lévő érintővektorra mutató mutatót tartalmaz. Ha a geometria üres, ez a vektor a NaN-t tartalmazza x és y értékként. Ehhez a paraméterhez tárterületet kell lefoglalnia.

egybesimítótolerancia
A geometria sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::D estroy

Elpusztít egy CD2DGeometry objektumot.

virtual void Destroy();

CD2DGeometry::D etach

Az erőforrás-felület leválasztása az objektumról

ID2D1Geometry* Detach();

Visszaadott érték

Mutató a leválasztott erőforrás-felületre.

CD2DGeometry::FillContainsPoint

Azt jelzi, hogy a geometria által kitöltött terület tartalmazná-e a megadott pontot a megadott elsimítási tűrés miatt.

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

Paraméterek

Pont
A tesztelendő pont.

worldTransform
A geometriára alkalmazandó átalakítás az elszigetelés tesztelése előtt.

tartalmazza a-et
Ha ez a metódus visszaadja, akkor igaz értékű bool értéket tartalmaz, ha a geometria által kitöltött terület tartalmaz pontot; egyéb esetben HAMIS. Ehhez a paraméterhez tárterületet kell lefoglalnia.

egybesimítótolerancia
Az a numerikus pontosság, amellyel a pontos geometriai útvonal és elérési út metszete ki van számítva. A tűréshatárnál kisebb kitöltést kihagyó pontok továbbra is belülre kerülnek. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::Get

Id2D1Geometry interfészt ad vissza

ID2D1Geometry* Get();

Visszaadott érték

Mutasson egy ID2D1Geometry felületre vagy NULL értékre, ha az objektum még nincs inicializálva.

CD2DGeometry::GetBounds

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

Paraméterek

worldTransform
Határait

Visszaadott érték

CD2DGeometry::GetWidenedBounds

Lekéri a geometria határait, miután a megadott körvonalszélesség és -stílus ki lett szélesítve, és a megadott mátrix átalakítja.

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

Paraméterek

strokeWidth
Az az összeg, amellyel a geometriát a körvonala megsimításával szélesíteni lehet.

strokeStyle
A geometriát tágító körvonal stílusa.

worldTransform
A geometriára alkalmazni kívánt átalakítás a geometria átalakítása és a geometria simogatása után.

Határait
Amikor ez a metódus visszatér, a kiszúrt geometria határait tartalmazza. Ehhez a paraméterhez tárterületet kell lefoglalnia.

egybesimítótolerancia
A geometriák sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::IsValid

Erőforrás érvényességének ellenőrzése

virtual BOOL IsValid() const;

Visszaadott érték

IGAZ, ha az erőforrás érvényes; egyéb esetben HAMIS.

CD2DGeometry::m_pGeometry

Egy ID2D1Geometry mutatója.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

Id2D1Geometry interfészt ad vissza

operator ID2D1Geometry*();

Visszaadott érték

Mutasson egy ID2D1Geometry felületre vagy NULL értékre, ha az objektum még nincs inicializálva.

CD2DGeometry::Outline

Kiszámítja a geometria körvonalát, és az eredményt egy ID2D1SimplifiedGeometrySinkre írja.

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

Paraméterek

worldTransform
A geometriai körvonalra alkalmazandó átalakítás.

geometrySink
Az ID2D1SimplifiedGeometrySink, amelyhez a geometria átalakított vázlata hozzá van fűzve.

egybesimítótolerancia
A geometria sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::Egyszerűsítés

A geometria egyszerűsített verzióját hozza létre, amely csak vonalakat és (opcionálisan) köb Bezier-görbéket tartalmaz, és az eredményt egy ID2D1SimplifiedGeometrySinkre írja.

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

Paraméterek

egyszerűsítésOption
Egy érték, amely meghatározza, hogy az egyszerűsített geometria tartalmazzon-e görbéket.

worldTransform
Az egyszerűsített geometriára alkalmazandó átalakítás.

geometrySink
Az ID2D1SimplifiedGeometrySink, amelyhez az egyszerűsített geometria hozzá van fűzve.

egybesimítótolerancia
A geometria sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::StrokeContainsPoint

Meghatározza, hogy a geometria körvonala tartalmazza-e a megadott pontot a megadott vonásvastagság, stílus és átalakítás alapján.

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

Paraméterek

Pont
Az elszigetelés tesztelésére szolgáló pont.

strokeWidth
Az alkalmazni kívánt körvonal vastagsága.

strokeStyle
Az alkalmazni kívánt körvonal stílusa.

worldTransform
A vonógeometriára alkalmazandó átalakítás.

tartalmazza a-et
Ha ez a metódus visszaadja, a logikai érték ÉRTÉKE IGAZ, ha a geometria lökete tartalmazza a megadott pontot; egyéb esetben HAMIS. Ehhez a paraméterhez tárterületet kell lefoglalnia.

egybesimítótolerancia
Az a numerikus pontosság, amellyel a pontos geometriai útvonal és elérési út metszete ki van számítva. Azokat a pontokat, amelyeknél a tűréshatárnál kisebb a löket, a rendszer továbbra is figyelembe veszi. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::Tessellate

Létrehoz egy óramutató járásával megegyező irányú háromszögeket, amelyek lefedik a geometriát, miután a megadott mátrix használatával átalakították, és a megadott tolerancia használatával simították.

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

Paraméterek

worldTransform
A geometriára vagy NULL értékre alkalmazandó átalakítás.

tessellationSink
Az ID2D1TessellationSink, amelyhez a tessellated hozzá van fűzve.

egybesimítótolerancia
A geometria sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

CD2DGeometry::Widen

Kibővíti a geometriát a megadott vonással, és az eredményt egy ID2D1SimplifiedGeometrySink értékre írja, miután a megadott mátrix átalakította, és a megadott tolerancia használatával simította.

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

Paraméterek

strokeWidth
Az az összeg, amellyel a geometriát ki kell szélesíteni.

strokeStyle
A geometriára alkalmazni kívánt körvonalstílus vagy NULL.

worldTransform
Az átalakítás, amely a geometriára alkalmazva lesz a szélesítés után.

geometrySink
Az ID2D1SimplifiedGeometrySink, amelyhez a kiszélesített geometria hozzá van fűzve.

egybesimítótolerancia
A geometria sokszögletű közelítésében lévő pontok közötti távolság maximális határa. A kisebb értékek pontosabb eredményeket eredményeznek, de lassabb végrehajtást okoznak.

Visszaadott érték

Ha a metódus sikeres, igaz értéket ad vissza. Ellenkező esetben HAMIS értéket ad vissza.

Lásd még

osztályok