ivutils
Loading...
Searching...
No Matches
facetedsurf.h File Reference

Class using contour.h to define a surface consisting of multiple facets (contours). More...

#include <vector>
#include <iterator>
#include <map>
#include <limits>
#include "contour.h"
#include "utiltl.h"
#include "region_3.h"
#include "contour.hpp"
Include dependency graph for facetedsurf.h:

Classes

class  FacetedSurfaceData::edge_index_it
 Iterates over edge indicies for all facets. More...
 

Functions

FacetedSurfaceData * CreateFacetGrid (vec_type Lx, vec_type Ly, size_t nx, size_t ny, int loop=0, int cap=0)
 Creates (new) data whcih are facets aligned on a 2D (x,y) grid with total size Lx x Ly and number of segments nx x ny.
 
FacetedSurfaceData * CreateFacetedCylinder (const Vector_3 &start, const Vector_3 &L, vec_type R, size_t n_segments, int cap=0)
 Creates (new) data for a cylinder with the base plane intersecting start and norlal to L, radius R, n_segments is the number of angular segments.
 
FacetedSurfaceData * CreateFacetedCube (vec_type side=1.)
 Creates (new) data for a faceted cube with the side X.
 
const FacetedSurfaceData * GetFacetedCube ()
 Alternative to CreateFacetedCube using predefined constant facet data

 

Detailed Description

Class using contour.h to define a surface consisting of multiple facets (contours).

Function Documentation

◆ CreateFacetGrid()

FacetedSurfaceData * CreateFacetGrid ( vec_type  Lx,
vec_type  Ly,
size_t  nx,
size_t  ny,
int  loop = 0,
int  cap = 0 
)

Creates (new) data whcih are facets aligned on a 2D (x,y) grid with total size Lx x Ly and number of segments nx x ny.

If the bit flag loop is set: 0x1 – means looping (connecting opposite) facets in the X direction, 0x2 - in the Y direction. If cap is not zero, the nonlooped directions are capped: a facet connecting all boundary edges is added.