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
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.
Fläche
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.