3.4.0
tigl::CTiglRectGridSurface< Annotation > Class Template Reference

The CTiglRectGridSurface class represents a collection of faces arranged in a rectangular grid. Optionally, the faces can be annotated using a custom type. More...

#include <CTiglRectGridSurface.h>

Data Structures

class  AnnotatedFace
 The AnnotatedFace class is used to store a) the connectivity info of a single face in a rectangular grid of faces b) an optional Annotation. More...
 

Public Member Functions

TIGL_EXPORT CTiglRectGridSurface ()
 
template<typename... Args>
 CTiglRectGridSurface (TopoDS_Shape const &shape, Args &&... args)
 CTiglRectGridSurface constructs the surface from a shape. More...
 
 CTiglRectGridSurface (CTiglRectGridSurface const &)=delete
 
 CTiglRectGridSurface (CTiglRectGridSurface &&)=default
 
void GetParameterRanges (std::vector< double > &row_ranges, std::vector< double > &col_ranges)
 GetParameterRanges sums all parameter ranges for all rows and columns. More...
 
size_t NCols () const
 NCols number of columns. More...
 
size_t NRows () const
 NRows number of rows. More...
 
CTiglRectGridSurfaceoperator= (CTiglRectGridSurface const &)=delete
 
CTiglRectGridSurfaceoperator= (CTiglRectGridSurface &&)=default
 
AnnotatedFaceRoot ()
 Root returns the root face of the rectangular grid, which is one of its corners. More...
 
AnnotatedFace const * Root () const
 
template<typename... Args>
void SetShape (TopoDS_Shape const &shape, Args &&... args)
 SetShape sets the shape represented by this instance. More...
 

Private Member Functions

void connect_faces ()
 

Private Attributes

std::vector< AnnotatedFaceface_infos
 
double m_sqr_dist_tol {1e-4}
 
size_t ncols {0}
 
size_t nrows {0}
 
size_t root_idx {0}
 

Detailed Description

template<typename Annotation = DefaultAnnotation>
class tigl::CTiglRectGridSurface< Annotation >

The CTiglRectGridSurface class represents a collection of faces arranged in a rectangular grid. Optionally, the faces can be annotated using a custom type.

Constructor & Destructor Documentation

◆ CTiglRectGridSurface() [1/4]

template<typename Annotation = DefaultAnnotation>
TIGL_EXPORT tigl::CTiglRectGridSurface< Annotation >::CTiglRectGridSurface ( )
inline

◆ CTiglRectGridSurface() [2/4]

template<typename Annotation = DefaultAnnotation>
template<typename... Args>
tigl::CTiglRectGridSurface< Annotation >::CTiglRectGridSurface ( TopoDS_Shape const &  shape,
Args &&...  args 
)
inline

CTiglRectGridSurface constructs the surface from a shape.

Parameters
shapea shape containing faces arranged in a rectangular grid
argsarguments to be forwarded to the Annotation class of each face.

◆ CTiglRectGridSurface() [3/4]

template<typename Annotation = DefaultAnnotation>
tigl::CTiglRectGridSurface< Annotation >::CTiglRectGridSurface ( CTiglRectGridSurface< Annotation > const &  )
delete

◆ CTiglRectGridSurface() [4/4]

template<typename Annotation = DefaultAnnotation>
tigl::CTiglRectGridSurface< Annotation >::CTiglRectGridSurface ( CTiglRectGridSurface< Annotation > &&  )
default

Member Function Documentation

◆ connect_faces()

template<typename Annotation = DefaultAnnotation>
void tigl::CTiglRectGridSurface< Annotation >::connect_faces ( )
inlineprivate

◆ GetParameterRanges()

template<typename Annotation = DefaultAnnotation>
void tigl::CTiglRectGridSurface< Annotation >::GetParameterRanges ( std::vector< double > &  row_ranges,
std::vector< double > &  col_ranges 
)
inline

GetParameterRanges sums all parameter ranges for all rows and columns.

The vector row_ranges will contain the sum of all u-parameter ranges of the faces in the row corresponding to the index in the vector

The vector col_ranges will contain the sum of all v-parameter ranges of the faces in the column corresponding to the index in the vector

Parameters
row_rangesa reference to a vector for storing the v-parameter ranges
col_rangesa reference to a vector for storing the u-parameter ranges

◆ NCols()

template<typename Annotation = DefaultAnnotation>
size_t tigl::CTiglRectGridSurface< Annotation >::NCols ( ) const
inline

NCols number of columns.

Returns
number of columns

◆ NRows()

template<typename Annotation = DefaultAnnotation>
size_t tigl::CTiglRectGridSurface< Annotation >::NRows ( ) const
inline

NRows number of rows.

Returns
number of rows

◆ operator=() [1/2]

template<typename Annotation = DefaultAnnotation>
CTiglRectGridSurface& tigl::CTiglRectGridSurface< Annotation >::operator= ( CTiglRectGridSurface< Annotation > const &  )
delete

◆ operator=() [2/2]

template<typename Annotation = DefaultAnnotation>
CTiglRectGridSurface& tigl::CTiglRectGridSurface< Annotation >::operator= ( CTiglRectGridSurface< Annotation > &&  )
default

◆ Root() [1/2]

template<typename Annotation = DefaultAnnotation>
AnnotatedFace* tigl::CTiglRectGridSurface< Annotation >::Root ( )
inline

Root returns the root face of the rectangular grid, which is one of its corners.

Returns
the root face of the rectangular grid, which is one of its corners

◆ Root() [2/2]

template<typename Annotation = DefaultAnnotation>
AnnotatedFace const* tigl::CTiglRectGridSurface< Annotation >::Root ( ) const
inline

◆ SetShape()

template<typename Annotation = DefaultAnnotation>
template<typename... Args>
void tigl::CTiglRectGridSurface< Annotation >::SetShape ( TopoDS_Shape const &  shape,
Args &&...  args 
)
inline

SetShape sets the shape represented by this instance.

Parameters
shapea shape containing faces arranged in a rectangular
argsarguments to be forwarded to the Annotation class of each face.

Field Documentation

◆ face_infos

template<typename Annotation = DefaultAnnotation>
std::vector<AnnotatedFace> tigl::CTiglRectGridSurface< Annotation >::face_infos
private

◆ m_sqr_dist_tol

template<typename Annotation = DefaultAnnotation>
double tigl::CTiglRectGridSurface< Annotation >::m_sqr_dist_tol {1e-4}
private

◆ ncols

template<typename Annotation = DefaultAnnotation>
size_t tigl::CTiglRectGridSurface< Annotation >::ncols {0}
private

◆ nrows

template<typename Annotation = DefaultAnnotation>
size_t tigl::CTiglRectGridSurface< Annotation >::nrows {0}
private

◆ root_idx

template<typename Annotation = DefaultAnnotation>
size_t tigl::CTiglRectGridSurface< Annotation >::root_idx {0}
private

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