---
name: "sc_TriangulatedSurface"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_TriangulatedSurface"
---

# sc\_TriangulatedSurface(3)

## NAME

sc::TriangulatedSurface

## SYNOPSIS

Inherits **sc::DescribedClass**.

Inherited by **sc::TriangulatedImplicitSurface**.

### Public Member Functions

**TriangulatedSurface** (const **Ref**\< **KeyVal** \> &)\
 int **verbose** () const\
 void **verbose** (int v)\
 void **set\_integrator** (const **Ref**\< **TriangleIntegrator** \> &)\
 void **set\_fast\_integrator** (const **Ref**\< **TriangleIntegrator** \> &)\
 void **set\_accurate\_integrator** (const **Ref**\< **TriangleIntegrator** \> &)\
 virtual **Ref**\< **TriangleIntegrator** \> **integrator** (int itri)\
 virtual **Ref**\< **TriangleIntegrator** \> **fast\_integrator** (int itri)\
 virtual **Ref**\< **TriangleIntegrator** \> **accurate\_integrator** (int itri)\
 void **add\_triangle** (const **Ref**\< **Vertex** \> &, const **Ref**\< **Vertex** \> &, const **Ref**\< **Vertex** \> &)\
 **Ref**\< **Edge** \> **find\_edge** (const **Ref**\< **Vertex** \> &, const **Ref**\< **Vertex** \> &)\
 virtual void **complete\_surface** ()\
 virtual void **remove\_short\_edges** (double cutoff\_length=1.0e-6, const **Ref**\< **Volume** \> &vol=0, double isoval=0.0)\
 virtual void **remove\_slender\_triangles** (int remove\_slender, double height\_cutoff, int remove\_small, double area\_cutoff, const **Ref**\< **Volume** \> &vol=0, double isoval=0.0)\
 virtual void **fix\_orientation** ()\
 virtual void **clear** ()\
 int **nvertex** () const\
 **Ref**\< **Vertex** \> **vertex** (int i) const\
 int **vertex\_index** (const **Ref**\< **Vertex** \> &o)\
 int **nedge** () const\
 **Ref**\< **Edge** \> **edge** (int i) const\
 int **edge\_index** (const **Ref**\< **Edge** \> &o)\
 int **ntriangle** () const\
 **Ref**\< **Triangle** \> **triangle** (int i) const\
 int **triangle\_index** (const **Ref**\< **Triangle** \> &o)\
 int **triangle\_vertex** (int i, int j) const\
 int **triangle\_edge** (int i, int j) const\
 int **edge\_vertex** (int i, int j) const\
 void **compute\_values** (**Ref**\< **Volume** \> &)\
 virtual double **flat\_area** ()\
 virtual double **flat\_volume** ()\
 virtual double **area** ()\
 virtual double **volume** ()\
 virtual void **print** (std::ostream &o=**ExEnv::out0**()) const\
 Print the object.  virtual void **print\_vertices\_and\_triangles** (std::ostream &o=**ExEnv::out0**()) const\
 virtual void **print\_geomview\_format** (std::ostream &o=**ExEnv::out0**()) const\
 virtual void **render** (const **Ref**\< **Render** \> &render)\
 void **topology\_info** (std::ostream &o=**ExEnv::out0**())\
 void **topology\_info** (int nvertex, int nedge, int ntri, std::ostream &o=**ExEnv::out0**())\

### Protected Member Functions

void **clear\_int\_arrays** ()\
 void **complete\_ref\_arrays** ()\
 void **complete\_int\_arrays** ()\
 void **recompute\_index\_maps** ()\
 void **add\_triangle** (const **Ref**\< **Triangle** \> &)\
 void **add\_vertex** (const **Ref**\< **Vertex** \> &)\
 void **add\_edge** (const **Ref**\< **Edge** \> &)\
 virtual **Triangle** \* **newTriangle** (const **Ref**\< **Edge** \> &, const **Ref**\< **Edge** \> &, const **Ref**\< **Edge** \> &, int orientation) const\
 virtual **Edge** \* **newEdge** (const **Ref**\< **Vertex** \> &, const **Ref**\< **Vertex** \> &) const\

### Protected Attributes

int **\_verbose**\
 int **\_debug**\
 int **\_completed\_surface**\
 std::set\< **Ref**\< **Vertex** \> \> **\_vertices**\
 std::set\< **Ref**\< **Edge** \> \> **\_edges**\
 std::set\< **Ref**\< **Triangle** \> \> **\_triangles**\
 std::map\< **Ref**\< **Vertex** \>, int \> **\_vertex\_to\_index**\
 std::map\< **Ref**\< **Edge** \>, int \> **\_edge\_to\_index**\
 std::map\< **Ref**\< **Triangle** \>, int \> **\_triangle\_to\_index**\
 std::vector\< **Ref**\< **Vertex** \> \> **\_index\_to\_vertex**\
 std::vector\< **Ref**\< **Edge** \> \> **\_index\_to\_edge**\
 std::vector\< **Ref**\< **Triangle** \> \> **\_index\_to\_triangle**\
 int \*\* **\_triangle\_vertex**\
 int \*\* **\_triangle\_edge**\
 int \*\* **\_edge\_vertex**\
 int **\_have\_values**\
 std::vector\< double \> **\_values**\
 **Ref**\< **TriangleIntegrator** \> **\_integrator**\
 **Ref**\< **TriangleIntegrator** \> **\_fast\_integrator**\
 **Ref**\< **TriangleIntegrator** \> **\_accurate\_integrator**\
 std::map\< **Ref**\< **Vertex** \>, std::set\< **Ref**\< **Edge** \> \> \> **\_tmp\_edges**\

## Member Function Documentation

### virtual void sc::TriangulatedSurface::print (std::ostream & = ExEnv::out0`()`) const` [virtual]`

Print the object.

Reimplemented from **sc::DescribedClass**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
