Classe CD2DGeometry
Um wrapper para ID2D1Geometry.
Sintaxe
class CD2DGeometry : public CD2DResource;
Membros
Construtores públicos
Nome | Descrição |
---|---|
CD2DGeometry::CD2DGeometry | Constrói um objeto CD2DGeometry. |
CD2DGeometry::~CD2DGeometry | O destruidor. Chamado quando um objeto de geometria D2D está sendo destruído. |
Métodos públicos
Nome | Descrição |
---|---|
CD2DGeometry::Attach | Anexa a interface de recurso ao objeto |
CD2DGeometry::CombineWithGeometry | Combina essa geometria com a geometria especificada e armazena o resultado em um ID2D1SimplifiedGeometrySink. |
CD2DGeometry::CompareWithGeometry | Descreve a interseção entre essa geometria e a geometria especificada. A comparação é executada usando a tolerância de mesclagem especificada. |
CD2DGeometry::ComputeArea | Calcula a área da geometria depois de ser ela transformada pela matriz especificada e mesclada com a tolerância especificada. |
CD2DGeometry::ComputeLength | Calcula o comprimento da geometria como se cada segmento fosse distribuído em uma linha. |
CD2DGeometry::ComputePointAtLength | Calcula o vetor de ponto e tangente na distância especificada ao longo da geometria depois de ter ela sido transformada pela matriz especificada e mesclada usando a tolerância especificada. |
CD2DGeometry::Destroy | Destrói um objeto CD2DGeometry. (Substitui CD2DResource::Destroy.) |
CD2DGeometry::Detach | Desanexa a interface do recurso do objeto |
CD2DGeometry::FillContainsPoint | Indica se a área preenchida pela geometria conteria o ponto especificado, dada a tolerância de mesclagem especificada. |
CD2DGeometry::Get | Retorna a interface ID2D1Geometry |
CD2DGeometry::GetBounds | |
CD2DGeometry::GetWidenedBounds | Obtém os limites da geometria depois que ela foi ampliada pela largura e estilo do traço especificados e transformada pela matriz especificada. |
CD2DGeometry::IsValid | Verifica a validade do recurso (substitui CD2DResource::IsValid.) |
CD2DGeometry::Outline | Calcula o contorno da geometria e grava o resultado em um ID2D1SimplifiedGeometrySink. |
CD2DGeometry::Simplify | Cria uma versão simplificada da geometria que contém apenas linhas e (opcionalmente) curvas cúbicas de Bezier e grava o resultado em um ID2D1SimplifiedGeometrySink. |
CD2DGeometry::StrokeContainsPoint | Determina se o traço da geometria contém o ponto especificado, dada a espessura, o estilo e a transformação do traço especificados. |
CD2DGeometry::Tessellate | Cria um conjunto de triângulos enrolados no sentido horário que cobrem a geometria depois que ela foi transformada usando a matriz especificada e planificada usando a tolerância especificada. |
CD2DGeometry::Widen | Amplia a geometria pelo traço especificado e grava o resultado em um ID2D1SimplifiedGeometrySink depois de ter ela sido transformada pela matriz especificada e mesclada usando a tolerância especificada. |
Operadores públicos
Nome | Descrição |
---|---|
CD2DGeometry::operator ID2D1Geometry* | Retorna a interface ID2D1Geometry |
Membros de dados protegidos
Nome | Descrição |
---|---|
CD2DGeometry::m_pGeometry | Um ponteiro para um ID2D1Geometry. |
Hierarquia de herança
CD2DGeometry
Requisitos
Cabeçalho: afxrendertarget.h
CD2DGeometry::~CD2DGeometry
O destruidor. Chamado quando um objeto de geometria D2D está sendo destruído.
virtual ~CD2DGeometry();
CD2DGeometry::Attach
Anexa a interface de recurso ao objeto
void Attach(ID2D1Geometry* pResource);
Parâmetros
pResource
Interface de recurso existente. Não pode ser NULL
CD2DGeometry::CD2DGeometry
Constrói um objeto CD2DGeometry.
CD2DGeometry(
CRenderTarget* pParentTarget,
BOOL bAutoDestroy = TRUE);
Parâmetros
pParentTarget
Um ponteiro para o destino de renderização.
bAutoDestroy
Indica que o objeto será destruído pelo proprietário (pParentTarget).
CD2DGeometry::CombineWithGeometry
Combina essa geometria com a geometria especificada e armazena o resultado em um 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
A geometria a ser combinada com essa instância.
combineMode
O tipo de operação de combinação a ser executada.
inputGeometryTransform
A transformação a ser aplicada a inputGeometry antes de fazer a combinação.
geometrySink
O resultado da operação de combinação.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal das geometrias. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::CompareWithGeometry
Descreve a interseção entre essa geometria e a geometria especificada. A comparação é executada usando a tolerância de mesclagem especificada.
D2D1_GEOMETRY_RELATION CompareWithGeometry(
CD2DGeometry& inputGeometry,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
inputGeometry
A geometria a ser testada.
inputGeometryTransform
A transformação a ser aplicada à inputGeometry.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal das geometrias. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::ComputeArea
Calcula a área da geometria depois de ser ela transformada pela matriz especificada e mesclada com a tolerância especificada.
BOOL ComputeArea(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& area,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformação a ser aplicada a essa geometria antes de calcular sua área.
area
Quando esse método retorna, contém um ponteiro para a área da versão transformada e mesclada dessa geometria. Você deve alocar armazenamento para esse parâmetro.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal da geometria. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::ComputeLength
Calcula o comprimento da geometria como se cada segmento fosse distribuído em uma linha.
BOOL ComputeLength(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& length,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformação a ser aplicada à geometria antes de calcular seu comprimento.
length
Quando esse método retorna, contém um ponteiro para o comprimento da geometria. Para geometrias fechadas, o comprimento inclui um segmento de fechamento implícito. Você deve alocar armazenamento para esse parâmetro.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal da geometria. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::ComputePointAtLength
Calcula o vetor de ponto e tangente na distância especificada ao longo da geometria depois de ter ela sido transformada pela matriz especificada e mesclada usando a tolerância 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
A distância ao longo da geometria do ponto e tangente a ser encontrada. Se essa distância for menor que 0, esse método calculará o primeiro ponto na geometria. Se essa distância for maior que o comprimento da geometria, esse método calculará o último ponto na geometria.
worldTransform
A transformação a ser aplicada à geometria antes de calcular o ponto e a tangente especificados.
point
O local na distância especificada ao longo da geometria. Se a geometria estiver vazia, esse ponto conterá NaN como seus valores x e y.
unitTangentVector
Quando esse método retorna, contém um ponteiro para o vetor da tangente na distância especificada ao longo da geometria. Se a geometria estiver vazia, esse vetor conterá NaN como seus valores x e y. Você deve alocar armazenamento para esse parâmetro.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal da geometria. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::Destroy
Destrói um objeto CD2DGeometry.
virtual void Destroy();
CD2DGeometry::Detach
Desanexa a interface do recurso do objeto
ID2D1Geometry* Detach();
Valor de retorno
Ponteiro para a interface de recurso desanexada.
CD2DGeometry::FillContainsPoint
Indica se a área preenchida pela geometria conteria o ponto especificado, dada a tolerância de mesclagem especificada.
BOOL FillContainsPoint(
CD2DPointF point,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
point
O ponto a ser testado.
worldTransform
A transformação a ser aplicada à geometria antes do teste de independência.
contains
Quando esse método retorna, contém um valor booliano que é TRUE se a área preenchida pela geometria contiver ponto; caso contrário, FALSE. Você deve alocar armazenamento para esse parâmetro.
flatteningTolerance
A precisão numérica com a qual o caminho geométrico preciso e a interseção de caminho são calculados. Pontos faltando o preenchimento por menos do que a tolerância ainda são considerados dentro. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::Get
Retorna a interface ID2D1Geometry
ID2D1Geometry* Get();
Valor de retorno
Ponteiro para uma interface ID2D1Geometry ou NULL se o objeto ainda não estiver inicializado.
CD2DGeometry::GetBounds
BOOL GetBounds(
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds) const;
Parâmetros
worldTransform
bounds
Valor de retorno
CD2DGeometry::GetWidenedBounds
Obtém os limites da geometria depois que ela foi ampliada pela largura e estilo do traço especificados e transformada pela 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
A quantidade pela qual ampliar a geometria traçando seu contorno.
strokeStyle
O estilo do traço que amplia a geometria.
worldTransform
Uma transformação a ser aplicada à geometria depois que ela for transformada e depois ela for traçada.
bounds
Quando esse método retorna, contém os limites da geometria ampliada. Você deve alocar armazenamento para esse parâmetro.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal das geometrias. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::IsValid
Verifica a validade do recurso
virtual BOOL IsValid() const;
Valor de retorno
TRUE se o recurso for válido; caso contrário, FALSE.
CD2DGeometry::m_pGeometry
Um ponteiro para um ID2D1Geometry.
ID2D1Geometry* m_pGeometry;
CD2DGeometry::operator ID2D1Geometry*
Retorna a interface ID2D1Geometry
operator ID2D1Geometry*();
Valor de retorno
Ponteiro para uma interface ID2D1Geometry ou NULL se o objeto ainda não estiver inicializado.
CD2DGeometry::Outline
Calcula o contorno da geometria e grava o resultado em um ID2D1SimplifiedGeometrySink.
BOOL Outline(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformação a ser aplicada ao contorno da geometria.
geometrySink
O ID2D1SimplifiedGeometrySink ao qual o contorno transformado da geometria é acrescentado.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal da geometria. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::Simplify
Cria uma versão simplificada da geometria que contém apenas linhas e (opcionalmente) curvas cúbicas de Bezier e grava o resultado em um 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
Um valor que especifica se a geometria simplificada deve conter curvas.
worldTransform
A transformação a ser aplicada à geometria simplificada.
geometrySink
O ID2D1SimplifiedGeometrySink ao qual a geometria simplificada é acrescentada.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal da geometria. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::StrokeContainsPoint
Determina se o traço da geometria contém o ponto especificado, dada a espessura, o estilo e a transformação do traço 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
O ponto a ser testado quanto ao confinamento.
strokeWidth
A espessura do traço a ser aplicado.
strokeStyle
O estilo do traço a ser aplicado.
worldTransform
A transformação a ser aplicada à geometria traçada.
contains
Quando esse método retorna, contém um valor booliano definido como TRUE se o traço da geometria contiver o ponto especificado; caso contrário, FALSE. Você deve alocar armazenamento para esse parâmetro.
flatteningTolerance
A precisão numérica com a qual o caminho geométrico preciso e a interseção de caminho são calculados. Pontos que não têm o traço por menos do que a tolerância ainda são considerados dentro. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::Tessellate
Cria um conjunto de triângulos enrolados no sentido horário que cobrem a geometria depois que ela foi transformada usando a matriz especificada e planificada usando a tolerância especificada.
BOOL Tessellate(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1TessellationSink* tessellationSink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformação a ser aplicada a essa geometria ou NULL.
tessellationSink
O ID2D1TessellationSink ao qual o conjunto é acrescentado.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal da geometria. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.
CD2DGeometry::Widen
Amplia a geometria pelo traço especificado e grava o resultado em um ID2D1SimplifiedGeometrySink depois de ter ela sido transformada pela matriz especificada e mesclada usando a tolerância 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
A quantidade pela qual ampliar a geometria.
strokeStyle
O estilo de traço a ser aplicado à geometria ou NULL.
worldTransform
A transformação a ser aplicada à geometria depois de ampliá-la.
geometrySink
O ID2D1SimplifiedGeometrySink ao qual a geometria ampliada é acrescentada.
flatteningTolerance
Os limites máximos na distância entre pontos na aproximação poligonal da geometria. Valores menores produzem resultados mais precisos, mas causam a execução lenta.
Valor de retorno
Se o método for bem-sucedido, retornará TRUE. Caso contrário, retornará FALSE.