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
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.