OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::SaturatedLinework< TargetShape, URNG > Class Template Reference

集中線描画クラス More...

#include <SaturatedLinework.hpp>

Public Member Functions

 SaturatedLinework ()
 デフォルトコンストラクタ More...
 
 SaturatedLinework (const TargetShape &targetShape)
 集中線を作成します。 More...
 
 SaturatedLinework (const TargetShape &targetShape, const Rect &outerShape)
 集中線を作成します。 More...
 
SaturatedLineworksetTargetShape (const TargetShape &targetShape)
 集中線の輪郭を設定します。 More...
 
const TargetShape & getTargetShape () const noexcept
 集中線の輪郭を返します。 More...
 
SaturatedLineworksetOuterRect (const Rect &outerRect)
 集中線の描画範囲を設定します。 More...
 
const RectgetOuterRect () const noexcept
 集中線の描画範囲を返します More...
 
SaturatedLineworksetLineCount (size_t lineCount)
 線の本数を設定します。 More...
 
size_t getLineCount () const noexcept
 線の本数を返します。 More...
 
SaturatedLineworksetMinThickness (double minThickness)
 線が最も太くなる部分の太さの下限値を設定します。 More...
 
double getMinThickness () const noexcept
 線の太さの下限値を返します。 More...
 
SaturatedLineworksetMaxThickness (double maxThickness)
 線が最も太くなる部分の太さの上限値を設定します。 More...
 
double getMaxThickness () const noexcept
 線の太さの上限値を返します。 More...
 
SaturatedLineworksetThickness (double minThickness, double maxThickness)
 線の太さを設定します。 More...
 
SaturatedLineworksetOffsetRange (double offsetRange)
 輪郭のばらけ具合を設定します More...
 
double getOffsetRange () const noexcept
 輪郭のばらけ具合を返します。 More...
 
SaturatedLineworksetSeed (uint64 seed)
 乱数のシード値を設定します。 More...
 
uint64 getSeed () const noexcept
 乱数のシード値を返します。 More...
 
void generate () const
 集中線を生成し、キャッシュします。 More...
 
void draw (const ColorF &color=Palette::Black) const
 集中線を描画します。 More...
 

Detailed Description

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
class s3d::SaturatedLinework< TargetShape, URNG >

集中線描画クラス

Template Parameters
TargetShape集中線で囲む図形の形状を表す型
URNG使用する乱数エンジンの型

Constructor & Destructor Documentation

◆ SaturatedLinework() [1/3]

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
s3d::SaturatedLinework< TargetShape, URNG >::SaturatedLinework ( )

デフォルトコンストラクタ

◆ SaturatedLinework() [2/3]

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
s3d::SaturatedLinework< TargetShape, URNG >::SaturatedLinework ( const TargetShape &  targetShape)
explicit

集中線を作成します。

Parameters
targetShape集中線の輪郭

◆ SaturatedLinework() [3/3]

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
s3d::SaturatedLinework< TargetShape, URNG >::SaturatedLinework ( const TargetShape &  targetShape,
const Rect outerShape 
)

集中線を作成します。

Parameters
targetShape集中線の輪郭
outerShape集中線の描画範囲

Member Function Documentation

◆ draw()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
void s3d::SaturatedLinework< TargetShape, URNG >::draw ( const ColorF color = Palette::Black) const

集中線を描画します。

Remarks
集中線がキャッシュされていない場合、関数内で generate() を呼びます。
Parameters
color集中線の色

◆ generate()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
void s3d::SaturatedLinework< TargetShape, URNG >::generate ( ) const

集中線を生成し、キャッシュします。

◆ getLineCount()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
size_t s3d::SaturatedLinework< TargetShape, URNG >::getLineCount ( ) const
noexcept

線の本数を返します。

Returns
線の本数

◆ getMaxThickness()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
double s3d::SaturatedLinework< TargetShape, URNG >::getMaxThickness ( ) const
noexcept

線の太さの上限値を返します。

Returns
線の太さの上限値

◆ getMinThickness()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
double s3d::SaturatedLinework< TargetShape, URNG >::getMinThickness ( ) const
noexcept

線の太さの下限値を返します。

Returns
線の太さの下限値

◆ getOffsetRange()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
double s3d::SaturatedLinework< TargetShape, URNG >::getOffsetRange ( ) const
noexcept

輪郭のばらけ具合を返します。

Returns
輪郭のばらけ具合

◆ getOuterRect()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
const Rect& s3d::SaturatedLinework< TargetShape, URNG >::getOuterRect ( ) const
noexcept

集中線の描画範囲を返します

Returns
集中線の描画範囲

◆ getSeed()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
uint64 s3d::SaturatedLinework< TargetShape, URNG >::getSeed ( ) const
noexcept

乱数のシード値を返します。

Returns
乱数のシード値

◆ getTargetShape()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
const TargetShape& s3d::SaturatedLinework< TargetShape, URNG >::getTargetShape ( ) const
noexcept

集中線の輪郭を返します。

Returns
集中線の輪郭

◆ setLineCount()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setLineCount ( size_t  lineCount)

線の本数を設定します。

Parameters
lineCount線の本数
Returns
*this

◆ setMaxThickness()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setMaxThickness ( double  maxThickness)

線が最も太くなる部分の太さの上限値を設定します。

Parameters
maxThickness最も太くなる部分の太さの上限値
Returns
*this

◆ setMinThickness()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setMinThickness ( double  minThickness)

線が最も太くなる部分の太さの下限値を設定します。

Parameters
minThickness最も太くなる部分の太さの下限値
Returns
*this

◆ setOffsetRange()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setOffsetRange ( double  offsetRange)

輪郭のばらけ具合を設定します

Parameters
offsetRangeばらける範囲
Returns
*this

◆ setOuterRect()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setOuterRect ( const Rect outerRect)

集中線の描画範囲を設定します。

Parameters
outerRect集中線の描画範囲
Returns
*this

◆ setSeed()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setSeed ( uint64  seed)

乱数のシード値を設定します。

Parameters
seedシード値
Returns
*this

◆ setTargetShape()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setTargetShape ( const TargetShape &  targetShape)

集中線の輪郭を設定します。

Parameters
targetShape集中線の輪郭
Returns
*this

◆ setThickness()

template<class TargetShape = Ellipse, class URNG = DefaultRNG>
SaturatedLinework& s3d::SaturatedLinework< TargetShape, URNG >::setThickness ( double  minThickness,
double  maxThickness 
)

線の太さを設定します。

Parameters
minThickness最も太くなる部分の太さの下限値
maxThickness最も太くなる部分の太さの上限値
Returns
*this

The documentation for this class was generated from the following file: