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...
 
SaturatedLinework & setTargetShape (const TargetShape &targetShape)
 集中線の輪郭を設定します。 More...
 
const TargetShape & getTargetShape () const noexcept
 集中線の輪郭を返します。 More...
 
SaturatedLinework & setOuterRect (const Rect &outerRect)
 集中線の描画範囲を設定します。 More...
 
const Rect & getOuterRect () const noexcept
 集中線の描画範囲を返します More...
 
SaturatedLinework & setLineCount (size_t lineCount)
 線の本数を設定します。 More...
 
size_t getLineCount () const noexcept
 線の本数を返します。 More...
 
SaturatedLinework & setMinThickness (double minThickness)
 線が最も太くなる部分の太さの下限値を設定します。 More...
 
double getMinThickness () const noexcept
 線の太さの下限値を返します。 More...
 
SaturatedLinework & setMaxThickness (double maxThickness)
 線が最も太くなる部分の太さの上限値を設定します。 More...
 
double getMaxThickness () const noexcept
 線の太さの上限値を返します。 More...
 
SaturatedLinework & setThickness (double minThickness, double maxThickness)
 線の太さを設定します。 More...
 
SaturatedLinework & setOffsetRange (double offsetRange)
 輪郭のばらけ具合を設定します More...
 
double getOffsetRange () const noexcept
 輪郭のばらけ具合を返します。 More...
 
SaturatedLinework & setSeed (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: