# sc::Shape Class Reference

A Shape is a Volume represents an 3D solid. More...

`#include <shape.h>`

Inheritance diagram for sc::Shape:

List of all members.

## Public Member Functions
| Shape (const Ref< KeyVal > &keyval)
virtual double | distance_to_surface (const SCVector3 &r, SCVector3 *grad=0) const =0
virtual int | is_outside (const SCVector3 &r) const
void | compute ()
| Recompute at least the results that have compute true and are not already computed.
void | interpolate (const SCVector3 &p1, const SCVector3 &p2, double val, SCVector3 &result)
int | value_implemented () const
| Information about the availability of values, gradients, and hessians.

## Detailed Description

A Shape is a Volume represents an 3D solid.

The value of the Shape at each point in space is the distance to the surface. The distance is negative if the point is inside the solid. For Shape specializations that cannot compute the distance to the surface, the value will be 1.0 outside and -1.0 inside the solid.

## Member Function Documentation

void sc::Shape::compute | ( |  | ) | `[virtual]`

Recompute at least the results that have compute true and are not already computed.

This should only be called by Result's members.

Implements sc::Volume.

int sc::Shape::value_implemented | ( |  | ) | const`[virtual]`

Information about the availability of values, gradients, and hessians.

Reimplemented from sc::Function.

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

- shape.h