CD2DGeometry-Klasse

Ein Wrapper für ID2D1Geometry.

Syntax

class CD2DGeometry : public CD2DResource;

Member

Öffentliche Konstruktoren

Name Beschreibung
CD2DGeometry::CD2DGeometry Erstellt ein CD2DGeometry-Objekt.
CD2DGeometry::~CD2DGeometry Der Destruktor. Wird aufgerufen, wenn ein D2D-Geometrieobjekt zerstört wird.

Öffentliche Methoden

Name Beschreibung
CD2DGeometry::Attach Fügt vorhandene Ressourcenschnittstelle an das Objekt an.
CD2DGeometry::CombineWithGeometry Kombiniert diese Geometrie mit der angegebenen Geometrie und speichert das Ergebnis in einem ID2D1SimplifiedGeometrySink.
CD2DGeometry::CompareWithGeometry Beschreibt die Schnittmenge zwischen dieser Geometrie und der angegebenen Geometrie. Der Vergleich erfolgt mithilfe der angegebenen Flachungstoleranz.
CD2DGeometry::ComputeArea Berechnet den Bereich der Geometrie, nachdem sie von der angegebenen Matrix transformiert und mithilfe der angegebenen Toleranz abgeflacht wurde.
CD2DGeometry::ComputeLength Berechnet die Länge der Geometrie so, als ob die Einzelnen Segmente in einer Zeile aufgehoben wurden.
CD2DGeometry::ComputePointAtLength Berechnet den Punkt- und Tangensvektor am angegebenen Abstand entlang der Geometrie, nachdem er durch die angegebene Matrix transformiert und mit der angegebenen Toleranz abgeflacht wurde.
CD2DGeometry::D estroy Zerstört ein CD2DGeometry-Objekt. (Außerkraftsetzungen CD2DResource::D estroy.)
CD2DGeometry::D etach Trennt die Ressourcenschnittstelle vom Objekt.
CD2DGeometry::FillContainsPoint Gibt an, ob der durch die Geometrie gefüllte Bereich den angegebenen Punkt enthalten würde, der die angegebene Flachungstoleranz aufweist.
CD2DGeometry::Get Gibt die ID2D1Geometry-Schnittstelle zurück.
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds Ruft die Grenzen der Geometrie ab, nachdem sie durch die angegebene Strichbreite und -formatvorlage erweitert und von der angegebenen Matrix transformiert wurde.
CD2DGeometry::IsValid Überprüft die Ressourcengültigkeit (Außerkraftsetzungen CD2DResource::IsValid.)
CD2DGeometry::Outline Berechnet die Gliederung der Geometrie und schreibt das Ergebnis in eine ID2D1SimplifiedGeometrySink.
CD2DGeometry::Simplify Erstellt eine vereinfachte Version der Geometrie, die nur Linien und (optional) kubische Bézierkurven enthält, und schreibt das Ergebnis in einen ID2D1SimplifiedGeometrySink.
CD2DGeometry::StrokeContainsPoint Bestimmt, ob der Strich der Geometrie den angegebenen Punkt mit der angegebenen Strichstärke, -formatvorlage und -transformation enthält.
CD2DGeometry::Tessellate Erstellt eine Reihe von im Uhrzeigersinn verwundeten Dreiecken, die die Geometrie abdecken, nachdem sie mithilfe der angegebenen Matrix transformiert und mit der angegebenen Toleranz abgeflacht wurde.
CD2DGeometry::Widen Breitet die Geometrie durch den angegebenen Strich aus und schreibt das Ergebnis in eine ID2D1SimplifiedGeometrySink, nachdem sie von der angegebenen Matrix transformiert und mit der angegebenen Toleranz abgeflacht wurde.

Öffentliche Operatoren

Name Beschreibung
CD2DGeometry::operator ID2D1Geometry* Gibt die ID2D1Geometry-Schnittstelle zurück.

Geschützte Datenmember

Name Beschreibung
CD2DGeometry::m_pGeometry Ein Zeiger auf eine ID2D1Geometry.

Vererbungshierarchie

CObject

CD2DResource

CD2DGeometry

Anforderungen

Header: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

Der Destruktor. Wird aufgerufen, wenn ein D2D-Geometrieobjekt zerstört wird.

virtual ~CD2DGeometry();

CD2DGeometry::Attach

Fügt vorhandene Ressourcenschnittstelle an das Objekt an.

void Attach(ID2D1Geometry* pResource);

Parameter

pResource
Vorhandene Ressourcenschnittstelle. Darf nicht NULL sein.

CD2DGeometry::CD2DGeometry

Erstellt ein CD2DGeometry-Objekt.

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

Parameter

pParentTarget
Ein Zeiger auf das Renderziel.

bAutoDestroy
Gibt an, dass das Objekt vom Besitzer (pParentTarget) zerstört wird.

CD2DGeometry::CombineWithGeometry

Kombiniert diese Geometrie mit der angegebenen Geometrie und speichert das Ergebnis in einem 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
Die Geometrie, die mit dieser Instanz kombiniert werden soll.

Combinemode
Der Typ des auszuführenden Kombinationsvorgangs.

inputGeometryTransform
Die Transformation, die vor der Kombination auf inputGeometry angewendet werden soll.

geometrySink
Das Ergebnis des Kombinationsvorgangs.

FlatteningTolerance
Die maximale Grenze für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrien. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::CompareWithGeometry

Beschreibt die Schnittmenge zwischen dieser Geometrie und der angegebenen Geometrie. Der Vergleich erfolgt mithilfe der angegebenen Flachungstoleranz.

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

Parameter

inputGeometry
Die zu testde Geometrie.

inputGeometryTransform
Die Transformation, die auf inputGeometry angewendet werden soll.

FlatteningTolerance
Die maximale Grenze für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrien. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::ComputeArea

Berechnet den Bereich der Geometrie, nachdem sie von der angegebenen Matrix transformiert und mithilfe der angegebenen Toleranz abgeflacht wurde.

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

Parameter

worldTransform
Die Transformation, die vor dem Berechnen des Bereichs auf diese Geometrie angewendet werden soll.

Bereich
Wenn diese Methode zurückgegeben wird, enthält sie einen Zeiger auf den Bereich der transformierten, flachen Version dieser Geometrie. Sie müssen Speicher für diesen Parameter zuweisen.

FlatteningTolerance
Die maximalen Grenzen für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrie. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::ComputeLength

Berechnet die Länge der Geometrie so, als ob die Einzelnen Segmente in einer Zeile aufgehoben wurden.

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

Parameter

worldTransform
Die Transformation, die auf die Geometrie angewendet werden soll, bevor die Länge berechnet wird.

length
Wenn diese Methode zurückgegeben wird, enthält sie einen Zeiger auf die Länge der Geometrie. Bei geschlossenen Geometrien enthält die Länge ein implizites schließende Segment. Sie müssen Speicher für diesen Parameter zuweisen.

FlatteningTolerance
Die maximalen Grenzen für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrie. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::ComputePointAtLength

Berechnet den Punkt- und Tangensvektor am angegebenen Abstand entlang der Geometrie, nachdem er durch die angegebene Matrix transformiert und mit der angegebenen Toleranz abgeflacht wurde.

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

Parameter

length
Der Abstand entlang der Geometrie des Punkts und tangens, nach dem gesucht werden soll. Wenn dieser Abstand kleiner als 0 ist, berechnet diese Methode den ersten Punkt in der Geometrie. Wenn dieser Abstand größer als die Länge der Geometrie ist, berechnet diese Methode den letzten Punkt in der Geometrie.

worldTransform
Die Transformation, die auf die Geometrie angewendet werden soll, bevor der angegebene Punkt und tangens berechnet werden.

Punkt
Die Position am angegebenen Abstand entlang der Geometrie. Wenn die Geometrie leer ist, enthält dieser Punkt NaN als x- und y-Werte.

unitTangentVector
Wenn diese Methode zurückgegeben wird, enthält sie einen Zeiger auf den Tangensvektor am angegebenen Abstand entlang der Geometrie. Wenn die Geometrie leer ist, enthält dieser Vektor NaN als x- und y-Werte. Sie müssen Speicher für diesen Parameter zuweisen.

FlatteningTolerance
Die maximalen Grenzen für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrie. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::D estroy

Zerstört ein CD2DGeometry-Objekt.

virtual void Destroy();

CD2DGeometry::D etach

Trennt die Ressourcenschnittstelle vom Objekt.

ID2D1Geometry* Detach();

Rückgabewert

Zeiger auf die getrennte Ressourcenschnittstelle.

CD2DGeometry::FillContainsPoint

Gibt an, ob der durch die Geometrie gefüllte Bereich den angegebenen Punkt enthalten würde, der die angegebene Flachungstoleranz aufweist.

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

Parameter

Punkt
Der zu testende Punkt.

worldTransform
Die Transformation, die vor dem Testen der Eindämmung auf die Geometrie angewendet werden soll.

contains
Wenn diese Methode zurückgegeben wird, enthält sie einen Boolwert, der WAHR ist, wenn der durch die Geometrie gefüllte Bereich Punkt enthält. andernfalls FALSE. Sie müssen Speicher für diesen Parameter zuweisen.

FlatteningTolerance
Die numerische Genauigkeit, mit der die genaue geometrische Pfad- und Pfadkreuzung berechnet wird. Punkte, die die Füllung um weniger als die Toleranz fehlen, werden immer noch innerhalb betrachtet. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::Get

Gibt die ID2D1Geometry-Schnittstelle zurück.

ID2D1Geometry* Get();

Rückgabewert

Zeiger auf eine ID2D1Geometry-Schnittstelle oder NULL, wenn das Objekt noch nicht initialisiert ist.

CD2DGeometry::GetBounds

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

Parameter

worldTransform
Grenzen

Rückgabewert

CD2DGeometry::GetWidenedBounds

Ruft die Grenzen der Geometrie ab, nachdem sie durch die angegebene Strichbreite und -formatvorlage erweitert und von der angegebenen Matrix transformiert wurde.

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

Parameter

strokeWidth
Der Betrag, um den die Geometrie erweitert werden soll, indem er seine Kontur streicht.

strokeStyle
Der Stil des Strichs, der die Geometrie erweitert.

worldTransform
Eine Transformation, die auf die Geometrie angewendet werden soll, nachdem die Geometrie transformiert wurde und nachdem die Geometrie gestrichelt wurde.

Grenzen
Wenn diese Methode zurückgegeben wird, enthält sie die Grenzen der verbreiterten Geometrie. Sie müssen Speicher für diesen Parameter zuweisen.

FlatteningTolerance
Die maximale Grenze für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrien. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::IsValid

Überprüft die Gültigkeit der Ressource

virtual BOOL IsValid() const;

Rückgabewert

TRUE, wenn die Ressource gültig ist; andernfalls FALSE.

CD2DGeometry::m_pGeometry

Ein Zeiger auf eine ID2D1Geometry.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

Gibt die ID2D1Geometry-Schnittstelle zurück.

operator ID2D1Geometry*();

Rückgabewert

Zeiger auf eine ID2D1Geometry-Schnittstelle oder NULL, wenn das Objekt noch nicht initialisiert ist.

CD2DGeometry::Outline

Berechnet die Gliederung der Geometrie und schreibt das Ergebnis in eine ID2D1SimplifiedGeometrySink.

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

Parameter

worldTransform
Die Transformation, die auf die Geometriekontur angewendet werden soll.

geometrySink
Der ID2D1SimplifiedGeometrySink, an den die geometrietransformationierte Kontur angefügt wird.

FlatteningTolerance
Die maximalen Grenzen für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrie. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::Simplify

Erstellt eine vereinfachte Version der Geometrie, die nur Linien und (optional) kubische Bézierkurven enthält, und schreibt das Ergebnis in einen 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
Ein Wert, der angibt, ob die vereinfachte Geometrie Kurven enthalten soll.

worldTransform
Die Transformation, die auf die vereinfachte Geometrie angewendet werden soll.

geometrySink
Der ID2D1SimplifiedGeometrySink, an den die vereinfachte Geometrie angefügt wird.

FlatteningTolerance
Die maximalen Grenzen für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrie. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::StrokeContainsPoint

Bestimmt, ob der Strich der Geometrie den angegebenen Punkt mit der angegebenen Strichstärke, -formatvorlage und -transformation enthält.

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

Parameter

Punkt
Der Punkt, der auf Eindämmung getestet werden soll.

strokeWidth
Die Stärke des anzuwendenden Strichs.

strokeStyle
Die Formatvorlage des anzuwendenden Strichs.

worldTransform
Die Transformation, die auf die gestrichelte Geometrie angewendet werden soll.

contains
Wenn diese Methode zurückgegeben wird, enthält einen booleschen Wert, der auf TRUE festgelegt ist, wenn der Strich der Geometrie den angegebenen Punkt enthält. andernfalls FALSE. Sie müssen Speicher für diesen Parameter zuweisen.

FlatteningTolerance
Die numerische Genauigkeit, mit der die genaue geometrische Pfad- und Pfadkreuzung berechnet wird. Punkte, die den Strich um weniger als die Toleranz fehlen, werden immer noch innerhalb betrachtet. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::Tessellate

Erstellt eine Reihe von im Uhrzeigersinn verwundeten Dreiecken, die die Geometrie abdecken, nachdem sie mithilfe der angegebenen Matrix transformiert und mit der angegebenen Toleranz abgeflacht wurde.

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

Parameter

worldTransform
Die Transformation, die auf diese Geometrie oder NULL angewendet werden soll.

TessellationSink
Der ID2D1TessellationSink, an den die Tessellated angefügt wird.

FlatteningTolerance
Die maximalen Grenzen für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrie. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

CD2DGeometry::Widen

Breitet die Geometrie durch den angegebenen Strich aus und schreibt das Ergebnis in eine ID2D1SimplifiedGeometrySink, nachdem sie von der angegebenen Matrix transformiert und mit der angegebenen Toleranz abgeflacht wurde.

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

Parameter

strokeWidth
Der Betrag, um den die Geometrie erweitert werden soll.

strokeStyle
Die Formatvorlage des Strichs, die auf die Geometrie oder NULL angewendet werden soll.

worldTransform
Die Transformation, die nach der Erweiterung auf die Geometrie angewendet werden soll.

geometrySink
Der ID2D1SimplifiedGeometrySink, an den die verbreiterte Geometrie angefügt wird.

FlatteningTolerance
Die maximalen Grenzen für den Abstand zwischen Punkten in der polygonalen Annäherung der Geometrie. Kleinere Werte erzeugen genauere Ergebnisse, verursachen jedoch eine langsamere Ausführung.

Rückgabewert

Wenn die Methode erfolgreich ist, wird TRUE zurückgegeben. Andernfalls wird FALSE zurückgegeben.

Siehe auch

Klassen