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

# sc\_UnionShape(3)

A UnionShape is volume enclosed by a set of Shape's.

## NAME

sc::UnionShape - A **UnionShape** is volume enclosed by a set of **Shape**'s.

## SYNOPSIS

`#include <shape.h>`

Inherits **sc::Shape**.

Inherited by **sc::DiscreteConnollyShape**, and **sc::VDWShape**.

### Public Member Functions

void **add\_shape** (**Ref**\< **Shape** \>)\
 double **distance\_to\_surface** (const **SCVector3** &r, **SCVector3** \*grad=0) const\
 int **is\_outside** (const **SCVector3** &r) const\
 void **boundingbox** (double valuemin, double valuemax, **SCVector3** &p1, **SCVector3** &p2)\
 int **gradient\_implemented** () const\

### Protected Attributes

std::set\< **Ref**\< **Shape** \> \> **\_shapes**\

### Additional Inherited Members

## Detailed Description

A **UnionShape** is volume enclosed by a set of **Shape**'s.

## Member Function Documentation

### void sc::UnionShape::boundingbox (double valuemin, double valuemax, SCVector3 & p1, SCVector3 & p2)` [virtual]`

Implements **sc::Volume**.

### double sc::UnionShape::distance\_to\_surface (const SCVector3 & r, SCVector3 \* grad = `0`) const` [virtual]`

Implements **sc::Shape**.

### int sc::UnionShape::gradient\_implemented () const` [virtual]`

Reimplemented from **sc::Function**.

### int sc::UnionShape::is\_outside (const SCVector3 & r) const` [virtual]`

Reimplemented from **sc::Shape**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
