Geogram Version 1.10.1
A programming library of geometric algorithms
Loading...
Searching...
No Matches
GEO::CSGScope Class Reference

A Scope corresponds to a set of primitive between curly braces in OpenSCAD, arguments of an operation. It is implemented as a vector of meshes. More...

#include <geogram/mesh/mesh_CSG_builder.h>

Public Member Functions

 CSGScope ()
 Constructs an empty CSGScope.
 
 CSGScope (std::shared_ptr< Mesh > M)
 Constructs a CSGScope that contains a single mesh.
 
 CSGScope (const std::initializer_list< std::shared_ptr< Mesh > > &Ms)
 Constructs a CSGScope from a list of meshes.
 
void push_back (std::shared_ptr< Mesh > M)
 
void emplace_back (std::shared_ptr< Mesh > M)
 
void pop_back ()
 
index_t size () const
 
const std::shared_ptr< Mesh > & operator[] (index_t i) const
 
auto begin ()
 
auto end ()
 
auto begin () const
 
auto end () const
 
auto rbegin ()
 
auto rend ()
 
auto rbegin () const
 
auto rend () const
 
void append (std::shared_ptr< Mesh > M)
 
template<typename... Types>
void append (std::shared_ptr< Mesh > head, Types... tail)
 

Detailed Description

A Scope corresponds to a set of primitive between curly braces in OpenSCAD, arguments of an operation. It is implemented as a vector of meshes.

Definition at line 283 of file mesh_CSG_builder.h.

Constructor & Destructor Documentation

◆ CSGScope() [1/3]

GEO::CSGScope::CSGScope ( )
inline

Constructs an empty CSGScope.

Definition at line 288 of file mesh_CSG_builder.h.

◆ CSGScope() [2/3]

GEO::CSGScope::CSGScope ( std::shared_ptr< Mesh M)
inline

Constructs a CSGScope that contains a single mesh.

Parameters
[in]Ma shared_ptr to the mesh

Definition at line 295 of file mesh_CSG_builder.h.

◆ CSGScope() [3/3]

GEO::CSGScope::CSGScope ( const std::initializer_list< std::shared_ptr< Mesh > > &  Ms)
inline

Constructs a CSGScope from a list of meshes.

Parameters
[in]Msthe list of meshes (specified between curly braces)

Definition at line 303 of file mesh_CSG_builder.h.

Member Function Documentation

◆ append() [1/2]

template<typename... Types>
void GEO::CSGScope::append ( std::shared_ptr< Mesh head,
Types...  tail 
)
inline

Definition at line 342 of file mesh_CSG_builder.h.

◆ append() [2/2]

void GEO::CSGScope::append ( std::shared_ptr< Mesh M)
inline

Definition at line 338 of file mesh_CSG_builder.h.

◆ begin() [1/2]

auto GEO::CSGScope::begin ( )
inline

Definition at line 329 of file mesh_CSG_builder.h.

◆ begin() [2/2]

auto GEO::CSGScope::begin ( ) const
inline

Definition at line 331 of file mesh_CSG_builder.h.

◆ emplace_back()

void GEO::CSGScope::emplace_back ( std::shared_ptr< Mesh M)
inline

Definition at line 312 of file mesh_CSG_builder.h.

◆ end() [1/2]

auto GEO::CSGScope::end ( )
inline

Definition at line 330 of file mesh_CSG_builder.h.

◆ end() [2/2]

auto GEO::CSGScope::end ( ) const
inline

Definition at line 332 of file mesh_CSG_builder.h.

◆ operator[]()

const std::shared_ptr< Mesh > & GEO::CSGScope::operator[] ( index_t  i) const
inline

Definition at line 324 of file mesh_CSG_builder.h.

◆ pop_back()

void GEO::CSGScope::pop_back ( )
inline

Definition at line 316 of file mesh_CSG_builder.h.

◆ push_back()

void GEO::CSGScope::push_back ( std::shared_ptr< Mesh M)
inline

Definition at line 308 of file mesh_CSG_builder.h.

◆ rbegin() [1/2]

auto GEO::CSGScope::rbegin ( )
inline

Definition at line 333 of file mesh_CSG_builder.h.

◆ rbegin() [2/2]

auto GEO::CSGScope::rbegin ( ) const
inline

Definition at line 335 of file mesh_CSG_builder.h.

◆ rend() [1/2]

auto GEO::CSGScope::rend ( )
inline

Definition at line 334 of file mesh_CSG_builder.h.

◆ rend() [2/2]

auto GEO::CSGScope::rend ( ) const
inline

Definition at line 336 of file mesh_CSG_builder.h.

◆ size()

index_t GEO::CSGScope::size ( ) const
inline

Definition at line 320 of file mesh_CSG_builder.h.


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