CD2DGeometry クラス
ID2D1Geometry のラッパー。
構文
class CD2DGeometry : public CD2DResource;
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CD2DGeometry::CD2DGeometry | CD2DGeometry オブジェクトを構築します。 |
CD2DGeometry::~CD2DGeometry | デストラクター。 D2D ジオメトリ オブジェクトが破棄されるときに呼び出されます。 |
パブリック メソッド
名前 | 説明 |
---|---|
CD2DGeometry::Attach | オブジェクトに既存のリソース インターフェイスをアタッチします |
CD2DGeometry::CombineWithGeometry | このジオメトリを指定したジオメトリと結合し、結果を ID2D1SimplifiedGeometrySink に格納します。 |
CD2DGeometry::CompareWithGeometry | このジオメトリと指定したジオメトリの交差部分について説明します。 比較は、指定されたフラット化許容値を使用して実行されます。 |
CD2DGeometry::ComputeArea | 指定したマトリックスによって変換され、指定された許容値を使用してフラット化された後、ジオメトリの面積を計算します。 |
CD2DGeometry::ComputeLength | ジオメトリの長さを、各セグメントが線に展開されたかのように計算します。 |
CD2DGeometry::ComputePointAtLength | 指定した行列によって変換され、指定した許容値を使用してフラット化された後、ジオメトリに沿った指定した距離の点と接線ベクトルを計算します。 |
CD2DGeometry::D estroy | CD2DGeometry オブジェクトを破棄します。 ( をオーバーライドしますCD2DResource::D estroy.) |
CD2DGeometry::D etach | オブジェクトからリソース インターフェイスをデタッチします |
CD2DGeometry::FillContainsPoint | ジオメトリによって塗りつぶされた領域に、指定した平坦化許容値を指定したポイントが含まれるかどうかを示します。 |
CD2DGeometry::Get | ID2D1Geometry インターフェイスを返します |
CD2DGeometry::GetBounds | |
CD2DGeometry::GetWidenedBounds | 指定したストロークの幅とスタイルで拡大され、指定されたマトリックスによって変換された後のジオメトリの境界を取得します。 |
CD2DGeometry::IsValid | リソースの有効性を確認します ( CD2DResource::IsValid をオーバーライドします)。 |
CD2DGeometry::Outline | ジオメトリのアウトラインを計算し、結果を ID2D1SimplifiedGeometrySink に書き込みます。 |
CD2DGeometry::Simplify | 直線のみを含むジオメトリの簡略化されたバージョンを作成し、(必要に応じて) 3 次ベジエ曲線を含み、結果を ID2D1SimplifiedGeometrySink に書き込みます。 |
CD2DGeometry::StrokeContainsPoint | 指定したストロークの太さ、スタイル、および変換を指定して、ジオメトリのストロークに指定したポイントが含まれているかどうかを判断します。 |
CD2DGeometry::Tessellate | 指定したマトリックスを使用して変換し、指定した許容値を使用してフラット化した後、ジオメトリをカバーする時計回りの巻き付き三角形のセットを作成します。 |
CD2DGeometry::Widen | 指定したストロークでジオメトリを拡大し、指定した行列で変換され、指定した許容値を使用してフラット化された後、結果を ID2D1SimplifiedGeometrySink に書き込みます。 |
パブリック演算子
名前 | 説明 |
---|---|
CD2DGeometry::operator ID2D1Geometry* | ID2D1Geometry インターフェイスを返します |
プロテクト データ メンバー
名前 | 説明 |
---|---|
CD2DGeometry::m_pGeometry | ID2D1Geometry へのポインター。 |
継承階層
CD2DGeometry
要件
Header: afxrendertarget.h
CD2DGeometry::~CD2DGeometry
デストラクター。 D2D ジオメトリ オブジェクトが破棄されるときに呼び出されます。
virtual ~CD2DGeometry();
CD2DGeometry::Attach
オブジェクトに既存のリソース インターフェイスをアタッチします
void Attach(ID2D1Geometry* pResource);
パラメーター
pResource
既存のリソース インターフェイス。 NULL にすることはできません
CD2DGeometry::CD2DGeometry
CD2DGeometry オブジェクトを構築します。
CD2DGeometry(
CRenderTarget* pParentTarget,
BOOL bAutoDestroy = TRUE);
パラメーター
pParentTarget
レンダー ターゲットへのポインター。
bAutoDestroy
オブジェクトが所有者 (pParentTarget) によって破棄されることを示します。
CD2DGeometry::CombineWithGeometry
このジオメトリを指定したジオメトリと結合し、結果を ID2D1SimplifiedGeometrySink に格納します。
BOOL CombineWithGeometry(
CD2DGeometry& inputGeometry,
D2D1_COMBINE_MODE combineMode,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
inputGeometry
このインスタンスと結合するジオメトリ。
combineMode
実行する結合操作の種類。
inputGeometryTransform
結合する前に inputGeometry に適用する変換。
geometrySink
結合操作の結果。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::CompareWithGeometry
このジオメトリと指定したジオメトリの交差部分について説明します。 比較は、指定されたフラット化許容値を使用して実行されます。
D2D1_GEOMETRY_RELATION CompareWithGeometry(
CD2DGeometry& inputGeometry,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
inputGeometry
テストするジオメトリ。
inputGeometryTransform
inputGeometry に適用する変換。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::ComputeArea
指定したマトリックスによって変換され、指定された許容値を使用してフラット化された後、ジオメトリの面積を計算します。
BOOL ComputeArea(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& area,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
worldTransform
領域を計算する前に、このジオメトリに適用する変換。
面積
このメソッドから制御が戻るときに、このジオメトリの変換されたフラット化されたバージョンの領域へのポインターが格納されます。 このパラメーターにはストレージを割り当てる必要があります。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::ComputeLength
ジオメトリの長さを、各セグメントが線に展開されたかのように計算します。
BOOL ComputeLength(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& length,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
worldTransform
長さを計算する前にジオメトリに適用する変換。
length
このメソッドが戻るときに、ジオメトリの長さを指すポインターを格納します。 閉じたジオメトリの場合、長さは暗黙的な終了セグメントを含みます。 このパラメーターにはストレージを割り当てる必要があります。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::ComputePointAtLength
指定した行列によって変換され、指定した許容値を使用してフラット化された後、ジオメトリに沿った指定した距離の点と接線ベクトルを計算します。
BOOL ComputePointAtLength(
FLOAT length,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DPointF& point,
CD2DPointF& unitTangentVector,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
length
ポイントのジオメトリに沿った距離と、検索する接線。 この距離が 0 未満の場合、このメソッドはジオメトリの最初の点を計算します。 この距離がジオメトリの長さを超える場合、このメソッドはジオメトリの最後の点を計算します。
worldTransform
指定した点と接線を計算する前にジオメトリに適用する変換。
point
ジオメトリに沿った指定した距離の位置。 ジオメトリが空の場合、このポイントには、その x 値と y 値として NaN が含まれます。
unitTangentVector
このメソッドが戻るときに、ジオメトリに沿って指定された距離にある接線ベクトルへのポインターを格納します。 ジオメトリが空の場合、このベクトルには、x 値と y 値として NaN が含まれます。 このパラメーターにはストレージを割り当てる必要があります。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::D estroy
CD2DGeometry オブジェクトを破棄します。
virtual void Destroy();
CD2DGeometry::D etach
オブジェクトからリソース インターフェイスをデタッチします
ID2D1Geometry* Detach();
戻り値
デタッチされたリソース インターフェイスへのポインター。
CD2DGeometry::FillContainsPoint
ジオメトリによって塗りつぶされた領域に、指定した平坦化許容値を指定したポイントが含まれるかどうかを示します。
BOOL FillContainsPoint(
CD2DPointF point,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
point
テストするポイント。
worldTransform
コンテインメントをテストする前にジオメトリに適用する変換。
contains
このメソッドが返されるときに、ジオメトリによって塗りつぶされた領域にポイントが含まれている場合は TRUE であるブール値が格納されます。それ以外の場合は FALSE。 このパラメーターにはストレージを割り当てる必要があります。
flatteningTolerance
正確なジオメトリ パスとパスの交差が計算される数値の精度。 許容範囲より小さいほど塗りつぶしが欠落している点は、引き続き内部と見なされます。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::Get
ID2D1Geometry インターフェイスを返します
ID2D1Geometry* Get();
戻り値
ID2D1Geometry インターフェイスへのポインター。オブジェクトがまだ初期化されていない場合は NULL。
CD2DGeometry::GetBounds
BOOL GetBounds(
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds) const;
パラメーター
worldTransform
切り
戻り値
CD2DGeometry::GetWidenedBounds
指定したストロークの幅とスタイルで拡大され、指定されたマトリックスによって変換された後のジオメトリの境界を取得します。
BOOL GetWidenedBounds(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
strokeWidth
輪郭をなでることでジオメトリを拡大する量。
strokeStyle
ジオメトリを拡大するストロークのスタイル。
worldTransform
ジオメトリが変換された後、およびジオメトリがストロークされた後にジオメトリに適用される変換。
切り
このメソッドが戻るときに、拡大されたジオメトリの境界を格納します。 このパラメーターにはストレージを割り当てる必要があります。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::IsValid
リソースの有効性を確認します
virtual BOOL IsValid() const;
戻り値
リソースが有効な場合は TRUE。それ以外の場合は FALSE。
CD2DGeometry::m_pGeometry
ID2D1Geometry へのポインター。
ID2D1Geometry* m_pGeometry;
CD2DGeometry::operator ID2D1Geometry*
ID2D1Geometry インターフェイスを返します
operator ID2D1Geometry*();
戻り値
ID2D1Geometry インターフェイスへのポインター。オブジェクトがまだ初期化されていない場合は NULL。
CD2DGeometry::Outline
ジオメトリのアウトラインを計算し、結果を ID2D1SimplifiedGeometrySink に書き込みます。
BOOL Outline(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
worldTransform
ジオメトリ アウトラインに適用する変換。
geometrySink
ジオメトリ変換されたアウトラインが追加される ID2D1SimplifiedGeometrySink。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::Simplify
直線のみを含むジオメトリの簡略化されたバージョンを作成し、(必要に応じて) 3 次ベジエ曲線を含み、結果を ID2D1SimplifiedGeometrySink に書き込みます。
BOOL Simplify(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
simplificationOption
簡略化されたジオメトリに曲線を含めるかどうかを指定する値。
worldTransform
簡略化されたジオメトリに適用する変換。
geometrySink
簡略化されたジオメトリが追加される ID2D1SimplifiedGeometrySink。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::StrokeContainsPoint
指定したストロークの太さ、スタイル、および変換を指定して、ジオメトリのストロークに指定したポイントが含まれているかどうかを判断します。
BOOL StrokeContainsPoint(
CD2DPointF point,
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
point
包含をテストするポイント。
strokeWidth
適用するストロークの太さ。
strokeStyle
適用するストロークのスタイル。
worldTransform
ストロークされたジオメトリに適用する変換。
contains
このメソッドが戻るときに、ジオメトリのストロークに指定した点が含まれている場合は TRUE に設定されたブール値が含まれます。それ以外の場合は FALSE。 このパラメーターにはストレージを割り当てる必要があります。
flatteningTolerance
正確なジオメトリ パスとパスの交差が計算される数値の精度。 許容範囲より小さいストロークが欠落している点は、引き続き内側と見なされます。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::Tessellate
指定したマトリックスを使用して変換し、指定した許容値を使用してフラット化した後、ジオメトリをカバーする時計回りの巻き付き三角形のセットを作成します。
BOOL Tessellate(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1TessellationSink* tessellationSink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
worldTransform
このジオメトリに適用する変換(NULL)。
tessellationSink
テッセレーションが追加される ID2D1TessellationSink。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。
CD2DGeometry::Widen
指定したストロークでジオメトリを拡大し、指定した行列で変換され、指定した許容値を使用してフラット化された後、結果を ID2D1SimplifiedGeometrySink に書き込みます。
BOOL Widen(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
パラメーター
strokeWidth
ジオメトリを拡大する量。
strokeStyle
ジオメトリに適用するストロークのスタイル(NULL)。
worldTransform
拡大後にジオメトリに適用する変換。
geometrySink
拡大されたジオメトリが追加される ID2D1SimplifiedGeometrySink。
flatteningTolerance
ジオメトリの多角形近似内のポイント間の距離の最大境界。 値を小さくすると、より正確な結果が得られますが、実行が遅くなります。
戻り値
メソッドが成功すると、TRUE が返されます。 それ以外の場合、FALSE を返します。