Compartir por


CD2DGeometry (clase)

Contenedor de ID2D1Geometry.

Sintaxis

class CD2DGeometry : public CD2DResource;

Miembros

Constructores públicos

Nombre Descripción
CD2DGeometry::CD2DGeometry Construye un objeto CD2DGeometry.
CD2DGeometry::~CD2DGeometry El destructor . Se le llama cuando se va a destruir un objeto de geometría D2D.

Métodos públicos

Nombre Descripción
CD2DGeometry::Attach Asocia la interfaz de recursos existente al objeto
CD2DGeometry::CombineWithGeometry Combina esta geometría con la geometría especificada y almacena el resultado en ID2D1SimplifiedGeometrySink.
CD2DGeometry::CompareWithGeometry Describe la intersección entre esta geometría y la geometría especificada. La comparación se realiza mediante la tolerancia de acoplamiento especificada.
CD2DGeometry::ComputeArea Calcula el área de la geometría después de que se haya transformado mediante la matriz especificada y acoplado mediante la tolerancia especificada.
CD2DGeometry::ComputeLength Calcula la longitud de la geometría como si cada segmento se expandiera en una línea.
CD2DGeometry::ComputePointAtLength Calcula el vector de punto y tangente en la distancia especificada a lo largo de la geometría después de que la matriz especificada la haya transformado y acoplado por medio de la tolerancia especificada.
CD2DGeometry::Destroy Destruye un objeto CD2DGeometry. (Invalida CD2DResource::Destroy.)
CD2DGeometry::Detach Desasocia la interfaz de recursos del objeto
CD2DGeometry::FillContainsPoint Indica si el área rellenada por la geometría contendría el punto especificado dada la tolerancia de acoplamiento especificada.
CD2DGeometry::Get Devuelve la interfaz ID2D1Geometry
CD2DGeometry::GetBounds
CD2DGeometry::GetWidenedBounds Obtiene los límites de la geometría después de que haya sido ampliada por el ancho de trazo y el estilo especificados y transformada por la matriz especificada.
CD2DGeometry::IsValid Comprueba la validez de un recurso (invalida a CD2DResource::IsValid.)
CD2DGeometry::Outline Calcula el contorno de la geometría y escribe el resultado en ID2D1SimplifiedGeometrySink.
CD2DGeometry::Simplify Crea una versión simplificada de la geometría que solo contiene líneas y (opcionalmente) curvas Bézier cúbicas, y escribe el resultado en ID2D1SimplifiedGeometrySink.
CD2DGeometry::StrokeContainsPoint Determina si el trazo de la geometría contiene el punto especificado dado el grosor, el estilo y la transformación del trazo especificados.
CD2DGeometry::Tessellate Crea un conjunto de triángulos de herida en el sentido de las agujas del reloj que cubren la geometría después de que se haya transformado mediante la matriz especificada y aplanada mediante la tolerancia especificada.
CD2DGeometry::Widen Amplía la geometría por el trazo especificado y escribe el resultado en ID2D1SimplifiedGeometrySink después de que la matriz especificada la haya transformado y se haya acoplado por medio de la tolerancia especificada.

Operadores públicos

Nombre Descripción
CD2DGeometry::operator ID2D1Geometry* Devuelve la interfaz ID2D1Geometry

Miembros de datos protegidos

Nombre Descripción
CD2DGeometry::m_pGeometry Puntero a ID2D1Geometry.

Jerarquía de herencia

CObject

CD2DResource

CD2DGeometry

Requisitos

Encabezado: afxrendertarget.h

CD2DGeometry::~CD2DGeometry

El destructor . Se le llama cuando se va a destruir un objeto de geometría D2D.

virtual ~CD2DGeometry();

CD2DGeometry::Attach

Asocia la interfaz de recursos existente al objeto

void Attach(ID2D1Geometry* pResource);

Parámetros

pResource
Interfaz de recursos existente. No puede ser NULL.

CD2DGeometry::CD2DGeometry

Construye un objeto CD2DGeometry.

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

Parámetros

pParentTarget
Puntero al destino de representación.

bAutoDestroy
Indica que el objeto va a ser destruido por el propietario (pParentTarget).

CD2DGeometry::CombineWithGeometry

Combina esta geometría con la geometría especificada y almacena el resultado en ID2D1SimplifiedGeometrySink.

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

Parámetros

inputGeometry
Geometría que se va a combinar con esta instancia.

combineMode
Tipo de operación de combinación que se va a llevar a cabo.

inputGeometryTransform
Transformación que se va a aplicar a inputGeometry antes de combinar.

geometrySink
Resultado de la operación de combinación.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de las geometrías. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::CompareWithGeometry

Describe la intersección entre esta geometría y la geometría especificada. La comparación se realiza mediante la tolerancia de acoplamiento especificada.

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

Parámetros

inputGeometry
Geometría que se va a probar.

inputGeometryTransform
Transformación que se va a aplicar a inputGeometry.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de las geometrías. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::ComputeArea

Calcula el área de la geometría después de que se haya transformado mediante la matriz especificada y acoplado mediante la tolerancia especificada.

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

Parámetros

worldTransform
Transformación que se va a aplicar a esta geometría antes de calcular su área.

area
Cuando se devuelve este método, contiene un puntero al área de la versión transformada y acoplada de esta geometría. Debe asignar almacenamiento para este parámetro.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de la geometría. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::ComputeLength

Calcula la longitud de la geometría como si cada segmento se expandiera en una línea.

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

Parámetros

worldTransform
Transformación que se va a aplicar a la geometría antes de calcular su longitud.

length
Cuando se devuelve este método, contiene un puntero a la longitud de la geometría. En las geometrías cerradas, la longitud incluye un segmento de cierre implícito. Debe asignar almacenamiento para este parámetro.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de la geometría. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::ComputePointAtLength

Calcula el vector de punto y tangente en la distancia especificada a lo largo de la geometría después de que la matriz especificada la haya transformado y acoplado por medio de la tolerancia especificada.

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

Parámetros

length
Distancia a lo largo de la geometría del punto y la tangente que se van a buscar. Si esta distancia es menor que 0, este método calcula el primer punto de la geometría. Si esta distancia es mayor que la longitud de la geometría, este método calcula el último punto de la geometría.

worldTransform
Transformación que se va a aplicar a la geometría antes de calcular el punto y la tangente especificados.

point
Ubicación en la distancia especificada a lo largo de la geometría. Si la geometría está vacía, este punto contiene NaN como sus valores x e y.

unitTangentVector
Cuando se devuelve este método, contiene un puntero al vector de tangente en la distancia especificada a lo largo de la geometría. Si la geometría está vacía, este vector contiene NaN como sus valores x e y. Debe asignar almacenamiento para este parámetro.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de la geometría. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::Destroy

Destruye un objeto CD2DGeometry.

virtual void Destroy();

CD2DGeometry::Detach

Desasocia la interfaz de recursos del objeto

ID2D1Geometry* Detach();

Valor devuelto

Puntero a la interfaz de recursos desasociada.

CD2DGeometry::FillContainsPoint

Indica si el área rellenada por la geometría contendría el punto especificado dada la tolerancia de acoplamiento especificada.

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

Parámetros

point
Punto que se va a probar.

worldTransform
Transformación que se va a aplicar a la geometría antes de probar la independencia.

contains
Cuando se devuelve este método, contiene un valor booleano que es TRUE si el área rellenada por la geometría contiene un punto; de lo contrario, FALSE. Debe asignar almacenamiento para este parámetro.

flatteningTolerance
Precisión numérica con la que se calcula el trazado geométrico preciso y la intersección de trazados. Los puntos que carecen de relleno por menos de la tolerancia se siguen considerando dentro. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::Get

Devuelve la interfaz ID2D1Geometry

ID2D1Geometry* Get();

Valor devuelto

Puntero a una interfaz ID2D1Geometry, o NULL si el objeto aún no se ha inicializado.

CD2DGeometry::GetBounds

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

Parámetros

worldTransform
bounds

Valor devuelto

CD2DGeometry::GetWidenedBounds

Obtiene los límites de la geometría después de que haya sido ampliada por el ancho de trazo y el estilo especificados y transformada por la matriz especificada.

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

Parámetros

strokeWidth
Cantidad por la que se va a ampliar la geometría al trazar su contorno.

strokeStyle
Estilo del trazo que amplía la geometría.

worldTransform
Transformación que se va a aplicar a la geometría después de que se haya transformado esta y después de que se haya trazado.

bounds
Cuando se devuelve este método, contiene los límites de la geometría ampliada. Debe asignar almacenamiento para este parámetro.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de las geometrías. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::IsValid

Comprueba la validez de un recurso.

virtual BOOL IsValid() const;

Valor devuelto

TRUE si el recurso es válido; de lo contrario, FALSE.

CD2DGeometry::m_pGeometry

Puntero a ID2D1Geometry.

ID2D1Geometry* m_pGeometry;

CD2DGeometry::operator ID2D1Geometry*

Devuelve la interfaz ID2D1Geometry

operator ID2D1Geometry*();

Valor devuelto

Puntero a una interfaz ID2D1Geometry, o NULL si el objeto aún no se ha inicializado.

CD2DGeometry::Outline

Calcula el contorno de la geometría y escribe el resultado en ID2D1SimplifiedGeometrySink.

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

Parámetros

worldTransform
Transformación que se va a aplicar al contorno de la geometría.

geometrySink
ID2D1SimplifiedGeometrySink al que se anexa el contorno transformado de la geometría.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de la geometría. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::Simplify

Crea una versión simplificada de la geometría que solo contiene líneas y (opcionalmente) curvas Bézier cúbicas, y escribe el resultado en ID2D1SimplifiedGeometrySink.

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

Parámetros

simplificationOption
Valor que especifica si la geometría simplificada debe contener curvas.

worldTransform
Transformación que se va a aplicar a la geometría simplificada.

geometrySink
ID2D1SimplifiedGeometrySink al que se anexa la geometría simplificada.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de la geometría. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::StrokeContainsPoint

Determina si el trazo de la geometría contiene el punto especificado dado el grosor, el estilo y la transformación del trazo especificados.

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

Parámetros

point
Punto que se va a probar para la contención.

strokeWidth
Grosor del trazo que se va a aplicar.

strokeStyle
Estilo del trazo que se va a aplicar.

worldTransform
Transformación que se va a aplicar a la geometría trazada.

contains
Cuando se devuelve este método, contiene un valor booleano establecido en TRUE si el trazo de la geometría contiene el punto especificado; de lo contrario, FALSE. Debe asignar almacenamiento para este parámetro.

flatteningTolerance
Precisión numérica con la que se calcula el trazado geométrico preciso y la intersección de trazados. Los puntos que carecen de trazo por menos de la tolerancia se siguen considerando dentro. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::Tessellate

Crea un conjunto de triángulos de herida en el sentido de las agujas del reloj que cubren la geometría después de que se haya transformado mediante la matriz especificada y aplanada mediante la tolerancia especificada.

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

Parámetros

worldTransform
Transformación que se va a aplicar a esta geometría, o NULL.

tessellationSink
ID2D1TessellationSink al que se anexa el teselado.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de la geometría. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

CD2DGeometry::Widen

Amplía la geometría por el trazo especificado y escribe el resultado en ID2D1SimplifiedGeometrySink después de que la matriz especificada la haya transformado y se haya acoplado por medio de la tolerancia especificada.

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

Parámetros

strokeWidth
Cantidad por la que se va a ampliar la geometría.

strokeStyle
Estilo de trazo que se va a aplicar a la geometría, o NULL.

worldTransform
Transformación que se va a aplicar a la geometría después de ampliarla.

geometrySink
ID2D1SimplifiedGeometrySink al que se anexa la geometría ampliada.

flatteningTolerance
Límites máximos de la distancia entre puntos en la aproximación poligonal de la geometría. Los valores más pequeños producen resultados más precisos, pero provocan una ejecución más lenta.

Valor devuelto

Si el método se ejecuta correctamente, devuelve TRUE. En caso contrario, devuelve FALSE.

Consulte también

Clases