![]() |
OpenSiv3D
v0.6.5
C++20 framework for creative coding
|
#include <MultiPolygon.hpp>
Public Types | |
using | base_type = Array< Polygon > |
using | allocator_type = base_type::allocator_type |
using | value_type = base_type::value_type |
using | size_type = base_type::size_type |
using | difference_type = base_type::difference_type |
using | pointer = base_type::pointer |
using | const_pointer = base_type::const_pointer |
using | reference = base_type::reference |
using | const_reference = base_type::const_reference |
using | iterator = base_type::iterator |
using | const_iterator = base_type::const_iterator |
using | reverse_iterator = base_type::reverse_iterator |
using | const_reverse_iterator = base_type::const_reverse_iterator |
Public Member Functions | |
SIV3D_NODISCARD_CXX20 | MultiPolygon ()=default |
SIV3D_NODISCARD_CXX20 | MultiPolygon (const allocator_type &alloc) noexcept |
SIV3D_NODISCARD_CXX20 | MultiPolygon (size_t count, const value_type &value, const allocator_type &alloc=allocator_type{}) |
SIV3D_NODISCARD_CXX20 | MultiPolygon (size_t count, const allocator_type &alloc=allocator_type{}) |
template<class Iterator > | |
MultiPolygon (Iterator first, Iterator last, const allocator_type &alloc=allocator_type{}) | |
SIV3D_NODISCARD_CXX20 | MultiPolygon (const MultiPolygon &polygons) |
SIV3D_NODISCARD_CXX20 | MultiPolygon (const MultiPolygon &polygons, const allocator_type &alloc) |
SIV3D_NODISCARD_CXX20 | MultiPolygon (MultiPolygon &&polygons) noexcept |
SIV3D_NODISCARD_CXX20 | MultiPolygon (std::initializer_list< value_type > init, const allocator_type &alloc=allocator_type{}) |
SIV3D_NODISCARD_CXX20 | MultiPolygon (const Array< Polygon > &polygons) |
SIV3D_NODISCARD_CXX20 | MultiPolygon (Array< Polygon > &&polygons) noexcept |
SIV3D_NODISCARD_CXX20 | MultiPolygon (Arg::reserve_< size_type > size) |
MultiPolygon & | operator= (const Array< value_type > &other) |
MultiPolygon & | operator= (Array< value_type > &&other) noexcept |
MultiPolygon & | operator= (const MultiPolygon &other) |
MultiPolygon & | operator= (MultiPolygon &&other) noexcept |
const Array< value_type > & | asArray () const noexcept |
operator const Array< value_type > & () const noexcept | |
template<class Iterator > | |
void | assign (Iterator first, Iterator last) |
void | assign (size_type n, const value_type &value) |
void | assign (std::initializer_list< value_type > il) |
void | assign (const Array< Polygon > &other) |
void | assign (Array< Polygon > &&other) |
void | assign (const MultiPolygon &other) |
void | assign (MultiPolygon &&other) noexcept |
allocator_type | get_allocator () const noexcept |
value_type & | at (size_t index) & |
const value_type & | at (size_t index) const & |
value_type | at (size_t index) && |
value_type & | operator[] (size_t index) &noexcept |
const value_type & | operator[] (size_t index) const &noexcept |
value_type | operator[] (size_t index) &&noexcept |
void | push_front (const value_type &value) |
void | push_front (value_type &&value) |
void | push_back (const value_type &value) |
void | push_back (value_type &&value) |
void | pop_front () |
void | pop_front_N (size_t n) |
void | pop_back () noexcept |
void | pop_back_N (size_t n) |
MultiPolygon & | operator<< (const value_type &polygon) |
MultiPolygon & | operator<< (value_type &&polygon) |
template<class... Args> | |
iterator | emplace (const_iterator position, Args &&... args) |
template<class... Args> | |
decltype(auto) | emplace_back (Args &&... args) |
value_type & | front () noexcept |
const value_type & | front () const noexcept |
value_type & | back () noexcept |
const value_type & | back () const noexcept |
void | swap (MultiPolygon &other) noexcept |
const value_type * | data () const noexcept |
value_type * | data () noexcept |
iterator | begin () noexcept |
iterator | end () noexcept |
const_iterator | begin () const noexcept |
const_iterator | end () const noexcept |
const_iterator | cbegin () const noexcept |
const_iterator | cend () const noexcept |
reverse_iterator | rbegin () noexcept |
reverse_iterator | rend () noexcept |
const_reverse_iterator | rbegin () const noexcept |
const_reverse_iterator | rend () const noexcept |
const_reverse_iterator | crbegin () const noexcept |
const_reverse_iterator | crend () const noexcept |
bool | empty () const noexcept |
bool | isEmpty () const noexcept |
operator bool () const noexcept | |
size_t | size_bytes () const noexcept |
size_t | size () const noexcept |
size_t | max_size () const noexcept |
void | reserve (size_t newCapacity) |
size_t | capacity () const noexcept |
void | shrink_to_fit () |
void | clear () noexcept |
void | release () |
iterator | insert (const_iterator where, const value_type &value) |
iterator | insert (const_iterator where, value_type &&value) |
iterator | insert (const_iterator where, size_t count, const value_type &value) |
template<class Iterator > | |
iterator | insert (const_iterator where, Iterator first, Iterator last) |
iterator | insert (const_iterator where, std::initializer_list< value_type > il) |
iterator | erase (const_iterator where) noexcept |
iterator | erase (const_iterator first, const_iterator last) noexcept |
void | resize (size_t newSize) |
void | resize (size_t newSize, const value_type &value) |
template<class Fty = decltype(Identity), std::enable_if_t< std::is_invocable_r_v< bool, Fty, value_type >> * = nullptr> | |
bool | all (Fty f=Identity) const |
template<class Fty = decltype(Identity), std::enable_if_t< std::is_invocable_r_v< bool, Fty, value_type >> * = nullptr> | |
bool | any (Fty f=Identity) const |
value_type & | choice () |
const value_type & | choice () const |
SIV3D_CONCEPT_URBG value_type & | choice (URBG &&rbg) |
const SIV3D_CONCEPT_URBG value_type & | choice (URBG &&rbg) const |
SIV3D_CONCEPT_INTEGRAL MultiPolygon | choice (Int n) const |
template<class Size_t , class URBG , std::enable_if_t< std::is_integral_v< Size_t >> * = nullptr, std::enable_if_t< std::conjunction_v< std::is_invocable< URBG & >, std::is_unsigned< std::invoke_result_t< URBG & >>>> * = nullptr> | |
MultiPolygon | choice (Size_t n, URBG &&rbg) const |
template<class Fty , std::enable_if_t< std::is_invocable_r_v< bool, Fty, value_type >> * = nullptr> | |
size_t | count_if (Fty f) const |
String | join (StringView sep=U", "_sv, StringView begin=U"{"_sv, StringView end=U"}"_sv) const |
template<class Fty = decltype(Identity), std::enable_if_t< std::is_invocable_r_v< bool, Fty, value_type >> * = nullptr> | |
bool | none (Fty f=Identity) const |
MultiPolygon & | append (const Array< value_type > &other) |
MultiPolygon & | append (const MultiPolygon &other) |
MultiPolygon & | remove_at (size_t index) |
template<class Fty > | |
MultiPolygon & | remove_if (Fty f) |
MultiPolygon & | reverse () |
MultiPolygon | reversed () const |
MultiPolygon & | shuffle () |
SIV3D_CONCEPT_URBG MultiPolygon & | shuffle (URBG &&rbg) |
MultiPolygon | slice (size_t index) const |
MultiPolygon | slice (size_t index, size_t length) const |
MultiPolygon | movedBy (double x, double y) const |
MultiPolygon | movedBy (Vec2 v) const |
MultiPolygon & | moveBy (double x, double y) noexcept |
MultiPolygon & | moveBy (Vec2 v) noexcept |
MultiPolygon | rotated (double angle) const |
MultiPolygon | rotatedAt (const Vec2 &pos, double angle) const |
MultiPolygon & | rotate (double angle) |
MultiPolygon & | rotateAt (const Vec2 &pos, double angle) |
MultiPolygon | transformed (double s, double c, const Vec2 &pos) const |
MultiPolygon & | transform (double s, double c, const Vec2 &pos) |
MultiPolygon | scaled (double s) const |
MultiPolygon | scaled (double sx, double sy) const |
MultiPolygon | scaled (Vec2 s) const |
MultiPolygon & | scale (double s) |
MultiPolygon & | scale (double sx, double sy) |
MultiPolygon & | scale (Vec2 s) |
MultiPolygon | scaledAt (Vec2 pos, double s) const |
MultiPolygon | scaledAt (Vec2 pos, double sx, double sy) const |
MultiPolygon | scaledAt (Vec2 pos, Vec2 s) const |
MultiPolygon & | scaleAt (Vec2 pos, double s) |
MultiPolygon & | scaleAt (Vec2 pos, double sx, double sy) |
MultiPolygon & | scaleAt (Vec2 pos, Vec2 s) |
RectF | computeBoundingRect () const noexcept |
MultiPolygon | simplified (double maxDistance=2.0) const |
template<class Shape2DType > | |
bool | intersects (const Shape2DType &other) const |
template<class Shape2DType > | |
Optional< Array< Vec2 > > | intersectsAt (const Shape2DType &other) const |
template<class Shape2DType > | |
bool | contains (const Shape2DType &other) const |
bool | leftClicked () const noexcept |
bool | leftPressed () const noexcept |
bool | leftReleased () const noexcept |
bool | rightClicked () const noexcept |
bool | rightPressed () const noexcept |
bool | rightReleased () const noexcept |
bool | mouseOver () const noexcept |
const MultiPolygon & | paint (Image &dst, const Color &color) const |
const MultiPolygon & | paint (Image &dst, double x, double y, const Color &color) const |
const MultiPolygon & | paint (Image &dst, const Vec2 &pos, const Color &color) const |
const MultiPolygon & | overwrite (Image &dst, const Color &color, Antialiased antialiased=Antialiased::Yes) const |
const MultiPolygon & | overwrite (Image &dst, double x, double y, const Color &color, Antialiased antialiased=Antialiased::Yes) const |
const MultiPolygon & | overwrite (Image &dst, const Vec2 &pos, const Color &color, Antialiased antialiased=Antialiased::Yes) const |
const MultiPolygon & | draw (const ColorF &color=Palette::White) const |
void | draw (double x, double y, const ColorF &color=Palette::White) const |
void | draw (const Vec2 &pos, const ColorF &color=Palette::White) const |
const MultiPolygon & | drawFrame (double thickness=1.0, const ColorF &color=Palette::White) const |
void | drawFrame (double x, double y, double thickness=1.0, const ColorF &color=Palette::White) const |
void | drawFrame (const Vec2 &pos, double thickness=1.0, const ColorF &color=Palette::White) const |
const MultiPolygon & | drawWireframe (double thickness=1.0, const ColorF &color=Palette::White) const |
void | drawWireframe (double x, double y, double thickness=1.0, const ColorF &color=Palette::White) const |
void | drawWireframe (const Vec2 &pos, double thickness=1.0, const ColorF &color=Palette::White) const |
void | drawTransformed (double angle, const Vec2 &pos, const ColorF &color=Palette::White) const |
void | drawTransformed (double s, double c, const Vec2 &pos, const ColorF &color=Palette::White) const |
Polygon の集合
using s3d::MultiPolygon::base_type = Array<Polygon> |
|
default |
|
explicitnoexcept |
SIV3D_NODISCARD_CXX20 s3d::MultiPolygon::MultiPolygon | ( | size_t | count, |
const value_type & | value, | ||
const allocator_type & | alloc = allocator_type{} |
||
) |
|
explicit |
s3d::MultiPolygon::MultiPolygon | ( | Iterator | first, |
Iterator | last, | ||
const allocator_type & | alloc = allocator_type{} |
||
) |
SIV3D_NODISCARD_CXX20 s3d::MultiPolygon::MultiPolygon | ( | const MultiPolygon & | polygons | ) |
SIV3D_NODISCARD_CXX20 s3d::MultiPolygon::MultiPolygon | ( | const MultiPolygon & | polygons, |
const allocator_type & | alloc | ||
) |
|
noexcept |
SIV3D_NODISCARD_CXX20 s3d::MultiPolygon::MultiPolygon | ( | std::initializer_list< value_type > | init, |
const allocator_type & | alloc = allocator_type{} |
||
) |
|
explicitnoexcept |
|
explicit |
bool s3d::MultiPolygon::all | ( | Fty | f = Identity | ) | const |
bool s3d::MultiPolygon::any | ( | Fty | f = Identity | ) | const |
MultiPolygon& s3d::MultiPolygon::append | ( | const Array< value_type > & | other | ) |
MultiPolygon& s3d::MultiPolygon::append | ( | const MultiPolygon & | other | ) |
|
noexcept |
void s3d::MultiPolygon::assign | ( | const MultiPolygon & | other | ) |
void s3d::MultiPolygon::assign | ( | Iterator | first, |
Iterator | last | ||
) |
|
noexcept |
void s3d::MultiPolygon::assign | ( | size_type | n, |
const value_type & | value | ||
) |
void s3d::MultiPolygon::assign | ( | std::initializer_list< value_type > | il | ) |
value_type& s3d::MultiPolygon::at | ( | size_t | index | ) | & |
value_type s3d::MultiPolygon::at | ( | size_t | index | ) | && |
const value_type& s3d::MultiPolygon::at | ( | size_t | index | ) | const & |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
value_type& s3d::MultiPolygon::choice | ( | ) |
const value_type& s3d::MultiPolygon::choice | ( | ) | const |
SIV3D_CONCEPT_INTEGRAL MultiPolygon s3d::MultiPolygon::choice | ( | Int | n | ) | const |
MultiPolygon s3d::MultiPolygon::choice | ( | Size_t | n, |
URBG && | rbg | ||
) | const |
SIV3D_CONCEPT_URBG value_type& s3d::MultiPolygon::choice | ( | URBG && | rbg | ) |
const SIV3D_CONCEPT_URBG value_type& s3d::MultiPolygon::choice | ( | URBG && | rbg | ) | const |
|
noexcept |
|
noexcept |
bool s3d::MultiPolygon::contains | ( | const Shape2DType & | other | ) | const |
size_t s3d::MultiPolygon::count_if | ( | Fty | f | ) | const |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
const MultiPolygon& s3d::MultiPolygon::draw | ( | const ColorF & | color = Palette::White | ) | const |
void s3d::MultiPolygon::draw | ( | double | x, |
double | y, | ||
const ColorF & | color = Palette::White |
||
) | const |
void s3d::MultiPolygon::drawFrame | ( | const Vec2 & | pos, |
double | thickness = 1.0 , |
||
const ColorF & | color = Palette::White |
||
) | const |
const MultiPolygon& s3d::MultiPolygon::drawFrame | ( | double | thickness = 1.0 , |
const ColorF & | color = Palette::White |
||
) | const |
void s3d::MultiPolygon::drawFrame | ( | double | x, |
double | y, | ||
double | thickness = 1.0 , |
||
const ColorF & | color = Palette::White |
||
) | const |
void s3d::MultiPolygon::drawTransformed | ( | double | angle, |
const Vec2 & | pos, | ||
const ColorF & | color = Palette::White |
||
) | const |
void s3d::MultiPolygon::drawTransformed | ( | double | s, |
double | c, | ||
const Vec2 & | pos, | ||
const ColorF & | color = Palette::White |
||
) | const |
void s3d::MultiPolygon::drawWireframe | ( | const Vec2 & | pos, |
double | thickness = 1.0 , |
||
const ColorF & | color = Palette::White |
||
) | const |
const MultiPolygon& s3d::MultiPolygon::drawWireframe | ( | double | thickness = 1.0 , |
const ColorF & | color = Palette::White |
||
) | const |
void s3d::MultiPolygon::drawWireframe | ( | double | x, |
double | y, | ||
double | thickness = 1.0 , |
||
const ColorF & | color = Palette::White |
||
) | const |
iterator s3d::MultiPolygon::emplace | ( | const_iterator | position, |
Args &&... | args | ||
) |
decltype(auto) s3d::MultiPolygon::emplace_back | ( | Args &&... | args | ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
iterator s3d::MultiPolygon::insert | ( | const_iterator | where, |
const value_type & | value | ||
) |
iterator s3d::MultiPolygon::insert | ( | const_iterator | where, |
Iterator | first, | ||
Iterator | last | ||
) |
iterator s3d::MultiPolygon::insert | ( | const_iterator | where, |
size_t | count, | ||
const value_type & | value | ||
) |
iterator s3d::MultiPolygon::insert | ( | const_iterator | where, |
std::initializer_list< value_type > | il | ||
) |
iterator s3d::MultiPolygon::insert | ( | const_iterator | where, |
value_type && | value | ||
) |
bool s3d::MultiPolygon::intersects | ( | const Shape2DType & | other | ) | const |
Optional<Array<Vec2> > s3d::MultiPolygon::intersectsAt | ( | const Shape2DType & | other | ) | const |
|
noexcept |
String s3d::MultiPolygon::join | ( | StringView | sep = U", "_sv , |
StringView | begin = U"{"_sv , |
||
StringView | end = U"}"_sv |
||
) | const |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
MultiPolygon s3d::MultiPolygon::movedBy | ( | double | x, |
double | y | ||
) | const |
MultiPolygon s3d::MultiPolygon::movedBy | ( | Vec2 | v | ) | const |
bool s3d::MultiPolygon::none | ( | Fty | f = Identity | ) | const |
|
explicitnoexcept |
|
noexcept |
MultiPolygon& s3d::MultiPolygon::operator<< | ( | const value_type & | polygon | ) |
MultiPolygon& s3d::MultiPolygon::operator<< | ( | value_type && | polygon | ) |
|
noexcept |
MultiPolygon& s3d::MultiPolygon::operator= | ( | const Array< value_type > & | other | ) |
MultiPolygon& s3d::MultiPolygon::operator= | ( | const MultiPolygon & | other | ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
const MultiPolygon& s3d::MultiPolygon::overwrite | ( | Image & | dst, |
const Color & | color, | ||
Antialiased | antialiased = Antialiased::Yes |
||
) | const |
const MultiPolygon& s3d::MultiPolygon::overwrite | ( | Image & | dst, |
const Vec2 & | pos, | ||
const Color & | color, | ||
Antialiased | antialiased = Antialiased::Yes |
||
) | const |
const MultiPolygon& s3d::MultiPolygon::overwrite | ( | Image & | dst, |
double | x, | ||
double | y, | ||
const Color & | color, | ||
Antialiased | antialiased = Antialiased::Yes |
||
) | const |
const MultiPolygon& s3d::MultiPolygon::paint | ( | Image & | dst, |
const Color & | color | ||
) | const |
const MultiPolygon& s3d::MultiPolygon::paint | ( | Image & | dst, |
const Vec2 & | pos, | ||
const Color & | color | ||
) | const |
const MultiPolygon& s3d::MultiPolygon::paint | ( | Image & | dst, |
double | x, | ||
double | y, | ||
const Color & | color | ||
) | const |
|
noexcept |
void s3d::MultiPolygon::pop_back_N | ( | size_t | n | ) |
void s3d::MultiPolygon::pop_front | ( | ) |
void s3d::MultiPolygon::pop_front_N | ( | size_t | n | ) |
void s3d::MultiPolygon::push_back | ( | const value_type & | value | ) |
void s3d::MultiPolygon::push_back | ( | value_type && | value | ) |
void s3d::MultiPolygon::push_front | ( | const value_type & | value | ) |
void s3d::MultiPolygon::push_front | ( | value_type && | value | ) |
|
noexcept |
|
noexcept |
void s3d::MultiPolygon::release | ( | ) |
MultiPolygon& s3d::MultiPolygon::remove_at | ( | size_t | index | ) |
MultiPolygon& s3d::MultiPolygon::remove_if | ( | Fty | f | ) |
|
noexcept |
|
noexcept |
void s3d::MultiPolygon::reserve | ( | size_t | newCapacity | ) |
void s3d::MultiPolygon::resize | ( | size_t | newSize | ) |
void s3d::MultiPolygon::resize | ( | size_t | newSize, |
const value_type & | value | ||
) |
MultiPolygon& s3d::MultiPolygon::reverse | ( | ) |
MultiPolygon s3d::MultiPolygon::reversed | ( | ) | const |
|
noexcept |
|
noexcept |
|
noexcept |
MultiPolygon& s3d::MultiPolygon::rotate | ( | double | angle | ) |
MultiPolygon& s3d::MultiPolygon::rotateAt | ( | const Vec2 & | pos, |
double | angle | ||
) |
MultiPolygon s3d::MultiPolygon::rotated | ( | double | angle | ) | const |
MultiPolygon s3d::MultiPolygon::rotatedAt | ( | const Vec2 & | pos, |
double | angle | ||
) | const |
MultiPolygon& s3d::MultiPolygon::scale | ( | double | s | ) |
MultiPolygon& s3d::MultiPolygon::scale | ( | double | sx, |
double | sy | ||
) |
MultiPolygon& s3d::MultiPolygon::scale | ( | Vec2 | s | ) |
MultiPolygon& s3d::MultiPolygon::scaleAt | ( | Vec2 | pos, |
double | s | ||
) |
MultiPolygon& s3d::MultiPolygon::scaleAt | ( | Vec2 | pos, |
double | sx, | ||
double | sy | ||
) |
MultiPolygon& s3d::MultiPolygon::scaleAt | ( | Vec2 | pos, |
Vec2 | s | ||
) |
MultiPolygon s3d::MultiPolygon::scaled | ( | double | s | ) | const |
MultiPolygon s3d::MultiPolygon::scaled | ( | double | sx, |
double | sy | ||
) | const |
MultiPolygon s3d::MultiPolygon::scaled | ( | Vec2 | s | ) | const |
MultiPolygon s3d::MultiPolygon::scaledAt | ( | Vec2 | pos, |
double | s | ||
) | const |
MultiPolygon s3d::MultiPolygon::scaledAt | ( | Vec2 | pos, |
double | sx, | ||
double | sy | ||
) | const |
MultiPolygon s3d::MultiPolygon::scaledAt | ( | Vec2 | pos, |
Vec2 | s | ||
) | const |
void s3d::MultiPolygon::shrink_to_fit | ( | ) |
MultiPolygon& s3d::MultiPolygon::shuffle | ( | ) |
SIV3D_CONCEPT_URBG MultiPolygon& s3d::MultiPolygon::shuffle | ( | URBG && | rbg | ) |
MultiPolygon s3d::MultiPolygon::simplified | ( | double | maxDistance = 2.0 | ) | const |
|
noexcept |
|
noexcept |
MultiPolygon s3d::MultiPolygon::slice | ( | size_t | index | ) | const |
MultiPolygon s3d::MultiPolygon::slice | ( | size_t | index, |
size_t | length | ||
) | const |
|
noexcept |
MultiPolygon& s3d::MultiPolygon::transform | ( | double | s, |
double | c, | ||
const Vec2 & | pos | ||
) |
MultiPolygon s3d::MultiPolygon::transformed | ( | double | s, |
double | c, | ||
const Vec2 & | pos | ||
) | const |