Partager via


CD2DGeometry, classe

Wrapper pour ID2D1Geometry.

Syntaxe

class CD2DGeometry : public CD2DResource;

Membres

Constructeurs publics

Nom Description
CD2DGeometry ::CD2DGeometry Construit un objet CD2DGeometry.
CD2DGeometry ::~CD2DGeometry Destructeur. Appelé lorsqu’un objet geometry D2D est détruit.

Méthodes publiques

Nom Description
CD2DGeometry ::Attach Attache l’interface de ressource existante à l’objet
CD2DGeometry ::CombineWithGeometry Combine cette géométrie avec la géométrie spécifiée et stocke le résultat dans un ID2D1SimplifiedGeometrySink.
CD2DGeometry ::CompareWithGeometry Décrit l’intersection entre cette géométrie et la géométrie spécifiée. La comparaison est effectuée à l’aide de la tolérance d’aplatissement spécifiée.
CD2DGeometry ::ComputeArea Calcule la zone de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.
CD2DGeometry ::ComputeLength Calcule la longueur de la géométrie comme si chaque segment a été roulé dans une ligne.
CD2DGeometry ::ComputePointAtLength Calcule le point et le vecteur tangent à la distance spécifiée le long de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.
CD2DGeometry ::D estroy Détruit un objet CD2DGeometry. (Remplacements CD2DResource ::D estroy.)
CD2DGeometry ::D etach Détache l’interface de ressource de l’objet
CD2DGeometry ::FillContainsPoint Indique si la zone remplie par la géométrie contient le point spécifié en fonction de la tolérance d’aplatissement spécifiée.
CD2DGeometry ::Get Retourne l’interface ID2D1Geometry
CD2DGeometry ::GetBounds
CD2DGeometry ::GetWidenedBounds Obtient les limites de la géométrie après qu’elle a été élargie par la largeur et le style de trait spécifiés et transformés par la matrice spécifiée.
CD2DGeometry ::IsValid Vérifie la validité des ressources (remplace CD2DResource ::IsValid.)
CD2DGeometry ::Outline Calcule le contour de la géométrie et écrit le résultat dans un ID2D1SimplifiedGeometrySink.
CD2DGeometry ::Simplifiez Crée une version simplifiée de la géométrie qui contient uniquement des lignes et (éventuellement) des courbes bezier cubes et écrit le résultat dans un ID2D1SimplifiedGeometrySink.
CD2DGeometry ::StrokeContainsPoint Détermine si le trait de la géométrie contient le point spécifié en fonction de l’épaisseur, du style et de la transformation spécifiés.
CD2DGeometry ::Tessellate Crée un ensemble de triangles enroulé dans le sens des aiguilles d’une montre qui couvrent la géométrie après sa transformation à l’aide de la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.
CD2DGeometry ::Widen Agrandit la géométrie par le trait spécifié et écrit le résultat dans un ID2D1SimplifiedGeometrySink après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.

Opérateurs publics

Nom Description
CD2DGeometry ::operator ID2D1Geometry* Retourne l’interface ID2D1Geometry

Membres de données protégés

Nom Description
CD2DGeometry ::m_pGeometry Pointeur vers un ID2D1Geometry.

Hiérarchie d'héritage

CObject

CD2DResource

CD2DGeometry

Spécifications

En-tête : afxrendertarget.h

CD2DGeometry ::~CD2DGeometry

Destructeur. Appelé lorsqu’un objet geometry D2D est détruit.

virtual ~CD2DGeometry();

CD2DGeometry ::Attach

Attache l’interface de ressource existante à l’objet

void Attach(ID2D1Geometry* pResource);

Paramètres

pResource
Interface de ressource existante. Impossible d’avoir la valeur NULL

CD2DGeometry ::CD2DGeometry

Construit un objet CD2DGeometry.

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

Paramètres

pParentTarget
Pointeur vers la cible de rendu.

bAutoDestroy
Indique que l’objet sera détruit par le propriétaire (pParentTarget).

CD2DGeometry ::CombineWithGeometry

Combine cette géométrie avec la géométrie spécifiée et stocke le résultat dans un ID2D1SimplifiedGeometrySink.

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

Paramètres

inputGeometry
Géométrie à combiner avec cette instance.

combineMode
Type d’opération de combinaison à effectuer.

inputGeometryTransform
Transformation à appliquer à inputGeometry avant de combiner.

geometrySink
Résultat de l’opération de combinaison.

flatteningTolerance
Limites maximales sur la distance entre les points dans l’approximation polygonale des géométries. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::CompareWithGeometry

Décrit l’intersection entre cette géométrie et la géométrie spécifiée. La comparaison est effectuée à l’aide de la tolérance d’aplatissement spécifiée.

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

Paramètres

inputGeometry
Géométrie à tester.

inputGeometryTransform
Transformation à appliquer à inputGeometry.

flatteningTolerance
Limites maximales sur la distance entre les points dans l’approximation polygonale des géométries. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::ComputeArea

Calcule la zone de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.

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

Paramètres

worldTransform
Transformation à appliquer à cette géométrie avant de calculer sa zone.

aire
Lorsque cette méthode est retournée, contient un pointeur vers la zone de la version transformée et aplate de cette géométrie. Vous devez allouer du stockage pour ce paramètre.

flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::ComputeLength

Calcule la longueur de la géométrie comme si chaque segment a été roulé dans une ligne.

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

Paramètres

worldTransform
Transformation à appliquer à la géométrie avant de calculer sa longueur.

length
Lorsque cette méthode est retournée, contient un pointeur vers la longueur de la géométrie. Pour les géométries fermées, la longueur comprend un segment fermant implicite. Vous devez allouer du stockage pour ce paramètre.

flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::ComputePointAtLength

Calcule le point et le vecteur tangent à la distance spécifiée le long de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.

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

Paramètres

length
Distance le long de la géométrie du point et de la tangente à rechercher. Si cette distance est inférieure à 0, cette méthode calcule le premier point de la géométrie. Si cette distance est supérieure à la longueur de la géométrie, cette méthode calcule le dernier point de la géométrie.

worldTransform
Transformation à appliquer à la géométrie avant de calculer le point et la tangente spécifiés.

point
Emplacement à la distance spécifiée le long de la géométrie. Si la géométrie est vide, ce point contient NaN comme valeurs x et y.

unitTangentVector
Lorsque cette méthode est retournée, contient un pointeur vers le vecteur tangent à la distance spécifiée le long de la géométrie. Si la géométrie est vide, ce vecteur contient NaN comme valeurs x et y. Vous devez allouer du stockage pour ce paramètre.

flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::D estroy

Détruit un objet CD2DGeometry.

virtual void Destroy();

CD2DGeometry ::D etach

Détache l’interface de ressource de l’objet

ID2D1Geometry* Detach();

Valeur de retour

Pointeur vers l’interface de ressource détachée.

CD2DGeometry ::FillContainsPoint

Indique si la zone remplie par la géométrie contient le point spécifié en fonction de la tolérance d’aplatissement spécifiée.

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

Paramètres

point
Point à tester.

worldTransform
Transformation à appliquer à la géométrie avant de tester l’isolement.

contains
Lorsque cette méthode retourne, contient une valeur bool qui est TRUE si la zone remplie par la géométrie contient un point ; sinon, FALSE. Vous devez allouer du stockage pour ce paramètre.

flatteningTolerance
Précision numérique avec laquelle le chemin géométrique précis et l’intersection de chemin d’accès sont calculés. Les points manquants de remplissage par moins que la tolérance sont toujours considérés à l’intérieur. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::Get

Retourne l’interface ID2D1Geometry

ID2D1Geometry* Get();

Valeur de retour

Pointeur vers une interface ID2D1Geometry ou NULL si l’objet n’est pas encore initialisé.

CD2DGeometry ::GetBounds

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

Paramètres

worldTransform
limites

Valeur de retour

CD2DGeometry ::GetWidenedBounds

Obtient les limites de la géométrie après qu’elle a été élargie par la largeur et le style de trait spécifiés et transformés par la matrice spécifiée.

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

Paramètres

strokeWidth
Quantité par laquelle élargir la géométrie en caressant son contour.

strokeStyle
Style du trait qui élargit la géométrie.

worldTransform
Transformation à appliquer à la géométrie après la transformation de la géométrie et après le trait de géométrie.

limites
Lorsque cette méthode est retournée, contient les limites de la géométrie étendue. Vous devez allouer du stockage pour ce paramètre.

flatteningTolerance
Limites maximales sur la distance entre les points dans l’approximation polygonale des géométries. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::IsValid

Vérifie la validité des ressources

virtual BOOL IsValid() const;

Valeur de retour

TRUE si la ressource est valide ; sinon FALSE.

CD2DGeometry ::m_pGeometry

Pointeur vers un ID2D1Geometry.

ID2D1Geometry* m_pGeometry;

CD2DGeometry ::operator ID2D1Geometry*

Retourne l’interface ID2D1Geometry

operator ID2D1Geometry*();

Valeur de retour

Pointeur vers une interface ID2D1Geometry ou NULL si l’objet n’est pas encore initialisé.

CD2DGeometry ::Outline

Calcule le contour de la géométrie et écrit le résultat dans un ID2D1SimplifiedGeometrySink.

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

Paramètres

worldTransform
Transformation à appliquer au contour géométrique.

geometrySink
ID2D1SimplifiedGeometrySink auquel le contour transformé géométrique est ajouté.

flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::Simplifiez

Crée une version simplifiée de la géométrie qui contient uniquement des lignes et (éventuellement) des courbes bezier cubes et écrit le résultat dans un ID2D1SimplifiedGeometrySink.

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

Paramètres

simplificationOption
Valeur qui spécifie si la géométrie simplifiée doit contenir des courbes.

worldTransform
Transformation à appliquer à la géométrie simplifiée.

geometrySink
ID2D1SimplifiedGeometrySink auquel la géométrie simplifiée est ajoutée.

flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::StrokeContainsPoint

Détermine si le trait de la géométrie contient le point spécifié en fonction de l’épaisseur, du style et de la transformation spécifiés.

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

Paramètres

point
Point à tester pour l’endiguement.

strokeWidth
Épaisseur du trait à appliquer.

strokeStyle
Style du trait à appliquer.

worldTransform
Transformation à appliquer à la géométrie tracée.

contains
Lorsque cette méthode est retournée, contient une valeur booléenne définie sur TRUE si le trait de la géométrie contient le point spécifié ; sinon, FALSE. Vous devez allouer du stockage pour ce paramètre.

flatteningTolerance
Précision numérique avec laquelle le chemin géométrique précis et l’intersection de chemin d’accès sont calculés. Les points manquants par moins que la tolérance sont toujours considérés à l’intérieur. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::Tessellate

Crée un ensemble de triangles enroulé dans le sens des aiguilles d’une montre qui couvrent la géométrie après sa transformation à l’aide de la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.

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

Paramètres

worldTransform
Transformation à appliquer à cette géométrie, ou NULL.

tessellationSink
ID2D1TessellationSink auquel le tessellated est ajouté.

flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

CD2DGeometry ::Widen

Agrandit la géométrie par le trait spécifié et écrit le résultat dans un ID2D1SimplifiedGeometrySink après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.

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

Paramètres

strokeWidth
Quantité par laquelle élargir la géométrie.

strokeStyle
Style de trait à appliquer à la géométrie ou NULL.

worldTransform
Transformation à appliquer à la géométrie après l’avoir étendue.

geometrySink
ID2D1SimplifiedGeometrySink auquel la géométrie étendue est ajoutée.

flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.

Valeur de retour

Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.

Voir aussi

Classes