// vim: shiftwidth=4 tabstop=4 noexpandtab

package main

// representation of a three-dimensional point in space
type Point struct {
	x float32
	y float32
	z float32
}

// a triangle consists of three points
type Triangle struct {
	a *Point
	b *Point
	c *Point
}

// a surface is made of a slice of triangles
type Surface struct {
	triangles []*Triangle
}