The spica renderer
Public Member Functions | Protected Attributes | List of all members
spica::Shape Class Referenceabstract

Abstract shape class. More...

#include <shape.h>

Inheritance diagram for spica::Shape:
spica::CObject spica::Disk spica::Sphere spica::Triangle

Public Member Functions

 Shape (const Transform &objectToWorld, ShapeType type)
 
 Shape (const Shape &s)
 
Shapeoperator= (const Shape &s)
 
virtual bool intersect (const Ray &ray, double *tHit, SurfaceInteraction *isect) const =0
 
virtual bool intersect (const Ray &ray) const =0
 
virtual Interaction sample (const Point2d &rands) const =0
 
virtual Interaction sample (const Interaction &isect, const Point2d &rands) const
 
virtual double pdf (const Interaction &pObj) const
 
virtual double pdf (const Interaction &pObj, const Vector3d &dir) const
 
virtual Bounds3d worldBound () const
 
virtual Bounds3d objectBound () const =0
 
virtual double area () const =0
 
virtual std::vector< Triangletriangulate () const =0
 
ShapeType type () const
 

Protected Attributes

Transform objectToWorld_
 
Transform worldToObject_
 
ShapeType type_
 

Detailed Description

Abstract shape class.


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