Share via


CD2DGeometry-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Een wrapper voor ID2D1Geometry.

Syntaxis

class CD2DGeometry : public CD2DResource;

Leden

Openbare constructors

Naam Description
CD2DGeometry::CD2DGeometry Maakt een CD2DGeometry-object.
CD2DGeometry::~CD2DGeometry De destructor. Wordt aangeroepen wanneer een D2D geometrieobject wordt vernietigd.

Openbare methoden

Naam Description
CD2DGeometry::Attach Bestaande resource-interface koppelen aan het object
CD2DGeometry::CombineWithGeometry Combineert deze geometrie met de opgegeven geometrie en slaat het resultaat op in een ID2D1SimplifiedGeometrySink.
CD2DGeometry::CompareWithGeometry Beschrijft het snijpunt tussen deze geometrie en de opgegeven geometrie. De vergelijking wordt uitgevoerd met behulp van de opgegeven afvlakkende tolerantie.
CD2DGeometry::ComputeArea Berekent het gebied van de geometrie nadat deze is getransformeerd door de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.
CD2DGeometry::ComputeLength Berekent de lengte van de geometrie alsof elk segment in een lijn is uitgeschreven.
CD2DGeometry::ComputePointAtLength Berekent de punt- en tangensvector op de opgegeven afstand langs de geometrie nadat deze is getransformeerd door de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.
CD2DGeometry::D estroy Vernietigt een CD2DGeometry-object. (Overschrijft CD2DResource::D estroy.)
CD2DGeometry::D etach Resource-interface loskoppelen van het object
CD2DGeometry::FillContainsPoint Geeft aan of het gebied dat door de geometrie is gevuld, het opgegeven punt zou bevatten op basis van de opgegeven afvlakkende tolerantie.
CD2DGeometry::Get Retourneert id2D1Geometry-interface
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds Hiermee haalt u de grenzen van de geometrie op nadat deze is verbreed door de opgegeven lijnbreedte en -stijl en getransformeerd door de opgegeven matrix.
CD2DGeometry::IsValid Controleert de geldigheid van resources (overschrijft CD2DResource::IsValid.)
CD2DGeometry::Outline Berekent het overzicht van de geometrie en schrijft het resultaat naar een ID2D1SimplifiedGeometrySink.
CD2DGeometry::Simplify Hiermee maakt u een vereenvoudigde versie van de geometrie die alleen lijnen en (optioneel) kubieke Bezier-curven bevat en schrijft u het resultaat naar een ID2D1SimplifiedGeometrySink.
CD2DGeometry::StrokeContainsPoint Bepaalt of de lijn van de geometrie het opgegeven punt bevat op basis van de opgegeven lijndikte, stijl en transformatie.
CD2DGeometry::Tessellate Hiermee maakt u een reeks driehoeken met de klok mee die de geometrie bedekken nadat deze is getransformeerd met behulp van de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.
CD2DGeometry::Widen Verbreedt de geometrie door de opgegeven lijn en schrijft het resultaat naar een ID2D1SimplifiedGeometrySink nadat deze is getransformeerd door de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.

Openbare operators

Naam Description
CD2DGeometry::operator ID2D1Geometry* Retourneert id2D1Geometry-interface

Beveiligde gegevensleden

Naam Description
CD2DGeometry::m_pGeometry Een aanwijzer naar een ID2D1Geometry.

Overnamehiërarchie

CObject

CD2DResource

CD2DGeometry

Requirements

Header: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

De destructor. Wordt aangeroepen wanneer een D2D geometrieobject wordt vernietigd.

virtual ~CD2DGeometry();

CD2DGeometry::Attach

Bestaande resource-interface koppelen aan het object

void Attach(ID2D1Geometry* pResource);

Parameterwaarden

pResource
Bestaande resource-interface. Kan niet NULL zijn

CD2DGeometry::CD2DGeometry

Maakt een CD2DGeometry-object.

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

Parameterwaarden

pParentTarget
Een aanwijzer naar het renderdoel.

bAutoDestroy
Geeft aan dat het object wordt vernietigd door eigenaar (pParentTarget).

CD2DGeometry::CombineWithGeometry

Combineert deze geometrie met de opgegeven geometrie en slaat het resultaat op in een ID2D1SimplifiedGeometrySink.

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

Parameterwaarden

inputGeometry
De geometrie die moet worden gecombineerd met dit exemplaar.

combineMode
Het type combinatiebewerking dat moet worden uitgevoerd.

inputGeometryTransform
De transformatie die moet worden toegepast op inputGeometry voordat deze wordt gecombineerd.

geometrieSink
Het resultaat van de combinatiebewerking.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrieën. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::CompareWithGeometry

Beschrijft het snijpunt tussen deze geometrie en de opgegeven geometrie. De vergelijking wordt uitgevoerd met behulp van de opgegeven afvlakkende tolerantie.

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

Parameterwaarden

inputGeometry
De geometrie die moet worden getest.

inputGeometryTransform
De transformatie die moet worden toegepast op inputGeometry.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrieën. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::ComputeArea

Berekent het gebied van de geometrie nadat deze is getransformeerd door de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.

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

Parameterwaarden

worldTransform
De transformatie die moet worden toegepast op deze geometrie voordat het gebied ervan wordt computing.

Gebied
Wanneer deze methode wordt geretourneerd, bevat een aanwijzer naar het gebied van de getransformeerde, afgevlakte versie van deze geometrie. U moet opslag toewijzen voor deze parameter.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrie. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::ComputeLength

Berekent de lengte van de geometrie alsof elk segment in een lijn is uitgeschreven.

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

Parameterwaarden

worldTransform
De transformatie die moet worden toegepast op de geometrie voordat de lengte ervan wordt berekend.

length
Wanneer deze methode wordt geretourneerd, bevat deze een aanwijzer naar de lengte van de geometrie. Voor gesloten geometrieën bevat de lengte een impliciet slotsegment. U moet opslag toewijzen voor deze parameter.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrie. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::ComputePointAtLength

Berekent de punt- en tangensvector op de opgegeven afstand langs de geometrie nadat deze is getransformeerd door de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.

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

Parameterwaarden

length
De afstand langs de geometrie van het punt en de tangens om te vinden. Als deze afstand kleiner is dan 0, berekent deze methode het eerste punt in de geometrie. Als deze afstand groter is dan de lengte van de geometrie, berekent deze methode het laatste punt in de geometrie.

worldTransform
De transformatie die moet worden toegepast op de geometrie voordat het opgegeven punt en de tangens worden berekend.

Punt
De locatie op de opgegeven afstand langs de geometrie. Als de geometrie leeg is, bevat dit punt NaN als de x- en y-waarden.

unitTangentVector
Wanneer deze methode retourneert, bevat deze een aanwijzer naar de tangensvector op de opgegeven afstand langs de geometrie. Als de geometrie leeg is, bevat deze vector NaN als de x- en y-waarden. U moet opslag toewijzen voor deze parameter.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrie. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::D estroy

Vernietigt een CD2DGeometry-object.

virtual void Destroy();

CD2DGeometry::D etach

Resource-interface loskoppelen van het object

ID2D1Geometry* Detach();

Retourwaarde

Aanwijzer naar losgekoppelde resourceinterface.

CD2DGeometry::FillContainsPoint

Geeft aan of het gebied dat door de geometrie is gevuld, het opgegeven punt zou bevatten op basis van de opgegeven afvlakkende tolerantie.

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

Parameterwaarden

Punt
Het punt om te testen.

worldTransform
De transformatie die moet worden toegepast op de geometrie voorafgaand aan het testen op insluiting.

bevat
Wanneer deze methode retourneert, bevat het een boolwaarde die WAAR is als het gebied dat door de geometrie is gevuld punt bevat; anders, ONWAAR. U moet opslag toewijzen voor deze parameter.

flatteningTolerance
De numerieke nauwkeurigheid waarmee het exacte geometrische pad en het pad snijpunt worden berekend. Punten die de opvulling missen door minder dan de tolerantie, worden nog steeds als binnen beschouwd. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::Get

Retourneert id2D1Geometry-interface

ID2D1Geometry* Get();

Retourwaarde

Wijs een ID2D1Geometry-interface of NULL aan als het object nog niet is geïnitialiseerd.

CD2DGeometry::GetBounds

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

Parameterwaarden

worldTransform
Grenzen

Retourwaarde

CD2DGeometry::GetWidenedBounds

Hiermee haalt u de grenzen van de geometrie op nadat deze is verbreed door de opgegeven lijnbreedte en -stijl en getransformeerd door de opgegeven matrix.

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

Parameterwaarden

strokeWidth
De hoeveelheid waarmee de geometrie moet worden uitgebreid door zijn omtrek te aaien.

strokeStyle
De stijl van de lijn die de geometrie breder maakt.

worldTransform
Een transformatie die moet worden toegepast op de geometrie nadat de geometrie is getransformeerd en nadat de geometrie is gestreken.

Grenzen
Wanneer deze methode wordt geretourneerd, bevat deze de grenzen van de verbrede geometrie. U moet opslag toewijzen voor deze parameter.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrieën. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::IsValid

Controleert de geldigheid van resources

virtual BOOL IsValid() const;

Retourwaarde

WAAR als de resource geldig is; anders ONWAAR.

CD2DGeometry::m_pGeometry

Een aanwijzer naar een ID2D1Geometry.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

Retourneert id2D1Geometry-interface

operator ID2D1Geometry*();

Retourwaarde

Wijs een ID2D1Geometry-interface of NULL aan als het object nog niet is geïnitialiseerd.

CD2DGeometry::Outline

Berekent het overzicht van de geometrie en schrijft het resultaat naar een ID2D1SimplifiedGeometrySink.

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

Parameterwaarden

worldTransform
De transformatie die moet worden toegepast op het geometriekader.

geometrieSink
De ID2D1SimplifiedGeometrySink waaraan de omtrek van de geometrie wordt toegevoegd.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrie. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::Simplify

Hiermee maakt u een vereenvoudigde versie van de geometrie die alleen lijnen en (optioneel) kubieke Bezier-curven bevat en schrijft u het resultaat naar een ID2D1SimplifiedGeometrySink.

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

Parameterwaarden

vereenvoudigingOption
Een waarde die aangeeft of de vereenvoudigde geometrie curven moet bevatten.

worldTransform
De transformatie die moet worden toegepast op de vereenvoudigde geometrie.

geometrieSink
De ID2D1SimplifiedGeometrySink waaraan de vereenvoudigde geometrie wordt toegevoegd.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrie. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::StrokeContainsPoint

Bepaalt of de lijn van de geometrie het opgegeven punt bevat op basis van de opgegeven lijndikte, stijl en transformatie.

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

Parameterwaarden

Punt
Het punt om te testen op insluiting.

strokeWidth
De dikte van de lijn die moet worden toegepast.

strokeStyle
De stijl van de lijn die moet worden toegepast.

worldTransform
De transformatie die moet worden toegepast op de gestreken geometrie.

bevat
Wanneer deze methode retourneert, bevat een Booleaanse waarde die is ingesteld op TRUE als de stroke van de geometrie het opgegeven punt bevat; anders, ONWAAR. U moet opslag toewijzen voor deze parameter.

flatteningTolerance
De numerieke nauwkeurigheid waarmee het exacte geometrische pad en het pad snijpunt worden berekend. Punten die de lijn missen door minder dan de tolerantie, worden nog steeds als binnen beschouwd. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::Tessellate

Hiermee maakt u een reeks driehoeken met de klok mee die de geometrie bedekken nadat deze is getransformeerd met behulp van de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.

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

Parameterwaarden

worldTransform
De transformatie die moet worden toegepast op deze geometrie of NULL.

tessellationSink
De ID2D1TessellationSink waaraan de tessellated wordt toegevoegd.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrie. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

CD2DGeometry::Widen

Verbreedt de geometrie door de opgegeven lijn en schrijft het resultaat naar een ID2D1SimplifiedGeometrySink nadat deze is getransformeerd door de opgegeven matrix en afgevlakt met behulp van de opgegeven tolerantie.

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

Parameterwaarden

strokeWidth
De hoeveelheid waarmee de geometrie moet worden uitgebreid.

strokeStyle
De stijl van pennenstreken die moet worden toegepast op de geometrie of NULL.

worldTransform
De transformatie die moet worden toegepast op de geometrie na het breder maken ervan.

geometrieSink
De ID2D1SimplifiedGeometrySink waaraan de uitgebreide geometrie wordt toegevoegd.

flatteningTolerance
De maximumgrenzen op de afstand tussen punten in de veelhoekige benadering van de geometrie. Kleinere waarden produceren nauwkeurigere resultaten, maar leiden tot tragere uitvoering.

Retourwaarde

Als de methode slaagt, wordt TRUE geretourneerd. Anders wordt FALSE geretourneerd.

Zie ook

Klassen