35 #ifndef AIMS_SURFACE_SURFACEGEN_H 
   36 #define AIMS_SURFACE_SURFACEGEN_H 
   90                                       bool smoothnormal = 
false );
 
   96                                           float radius2, 
unsigned nfacets, 
 
   97                                           bool closed, 
bool smooth = 
false,
 
   98                                           bool smoooth_tube = 
true );
 
  102                                       const Point3df & base, 
float radius, 
 
  103                                       unsigned nfacets, 
bool closed, 
 
  104                                       bool smooth = 
false );
 
  109                                         const Point3df & base, 
float radius, 
 
  110                                         float arrowradius, 
unsigned nfacets, 
 
  111                                         float arrowlengthfract );
 
  133                                         bool uniquevertices = 
false );
 
  139                                          bool uniquevertices = 
false );
 
  143                                            float radius, 
unsigned nfacets );
 
  154       bool smooth = 
false );
 
  167       const Point3df & center, 
float radius, 
unsigned nseg=20,
 
  170       float stopangle = M_PI*2 );
 
Factory class for various common shapes of meshes.
static AimsSurfaceTriangle * cylinder(const Point3df &p1, const Point3df &p2, float radius, float radius2, unsigned nfacets, bool closed, bool smooth=false, bool smoooth_tube=true)
static AimsSurfaceTriangle * parallelepiped(const Point3df &boundingbox_min, const Point3df &boundingbox_max, bool smooth=false)
static AimsTimeSurface< 2, Void > * parallelepiped_wireframe(const Point3df &boundingbox_min, const Point3df &boundingbox_max)
static void printDescription_wireframe(std::ostream &s=std::cout)
static carto::Object description()
description of known shapes and parameters (vector of dicts)
static AimsSurfaceTriangle * parallelepiped(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * arrow(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * arrow(const Point3df &arrow, const Point3df &base, float radius, float arrowradius, unsigned nfacets, float arrowlengthfract)
static AimsSurfaceTriangle * generate(carto::Object params)
generic factory function (calls lower-level functions)
static AimsSurfaceTriangle * icosahedron(const Point3df ¢er, float radius)
static AimsSurfaceTriangle * cube(const Point3df ¢er, float radius, bool smoothnormal=false)
static AimsSurfaceTriangle * cylinder(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * icosphere(const carto::GenericObject ¶ms)
static AimsTimeSurface< 2, Void > * generate_wireframe(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * ellipse(const Point3df &p1, float radius1, float radius2, unsigned nfacets, bool uniquevertices=false)
static AimsTimeSurface< 2, Void > * circle_wireframe(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * cone(const carto::GenericObject ¶ms)
static void printDescription(std::ostream &s=std::cout)
outputs the description() dictionary in a more huma-readable way
static AimsTimeSurface< 2, Void > * grid(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * icosphere(const Point3df ¢er, float radius, unsigned nfacets)
static AimsSurfaceTriangle * cone(const Point3df &arrow, const Point3df &base, float radius, unsigned nfacets, bool closed, bool smooth=false)
static AimsSurfaceTriangle * ellipse(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * generate(const carto::GenericObject ¶ms)
generic factory function (calls lower-level functions)
static AimsSurfaceTriangle * cube(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * sphere(const carto::GenericObject ¶ms)
static AimsSurfaceTriangle * icosahedron(const carto::GenericObject ¶ms)
Sphere generation functions by Manik Bhattacharjee (CNRS UPR640 - LENA)
static AimsSurfaceTriangle * sphere(const Point3df &p1, float radius, unsigned nfacets, bool uniquevertices=false)
static AimsTimeSurface< 2, Void > * generate_wireframe(carto::Object params)
generic factory function (calls lower-level functions)
static AimsTimeSurface< 2, Void > * parallelepiped_wireframe(const carto::GenericObject ¶ms)
static carto::Object description_wireframe()
static AimsTimeSurface< 2, Void > * circle_wireframe(const Point3df ¢er, float radius, unsigned nseg=20, const Point3df &normal=Point3df(0, 0, 1), const Point3df &startdir=Point3df(1, 0, 0), float startangle=0, float stopangle=M_PI *2)
Circle, or part of circle.
static AimsTimeSurface< 2, Void > * grid(const Point3df &boundingbox_min, const Point3df &boundingbox_max, const Point3df &grid_sampling)
Grid wireframe.
The class for EcatSino data write operation.
virtual AimsTimeSurface< 2, Void > * generator(const carto::GenericObject &) const =0
virtual carto::Object parameters() const =0
virtual ~Generator_wireframe()
virtual carto::Object parameters() const =0
virtual AimsSurfaceTriangle * generator(const carto::GenericObject &) const =0
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle