16 #ifndef GEOMTOOLS_POLYCONE_H 17 #define GEOMTOOLS_POLYCONE_H 1 33 class right_circular_conical_nappe;
36 class composite_surface;
111 double get_z ()
const;
156 void add(
double z_,
double rmax_,
bool compute_ =
true);
159 void add(
double z_,
double rmin_,
double rmax_,
bool compute_ =
true);
165 void initialize (
const std::string & filename_);
203 void initialize (
const std::string & filename_,
204 double zmin_ = std::numeric_limits<double>::quiet_NaN (),
205 double zmax_ = std::numeric_limits<double>::quiet_NaN (),
212 virtual void reset ();
272 virtual double get_volume (uint32_t flags_ = 0)
const;
313 virtual void tree_dump (std::ostream & out_ = std::clog,
314 const std::string & title_ =
"",
315 const std::string & indent_ =
"",
316 bool inherit_ =
false)
const;
355 void _compute_surfaces_();
357 void _compute_volume_();
359 void _compute_limits_();
361 void _compute_misc_();
363 void _compute_all_();
366 void _build_from_envelope_and_skin_ (
double thickness_,
371 void _build_from_envelope_and_skin_ (
double thickness_,
double step_ = 0.0);
377 double _start_angle_;
378 double _delta_angle_;
382 boost::logic::tribool _has_top_face_;
383 boost::logic::tribool _has_bottom_face_;
384 boost::logic::tribool _has_inner_face_;
385 double _top_surface_;
386 double _bottom_surface_;
387 double _outer_side_surface_;
388 double _inner_side_surface_;
389 double _start_angle_surface_;
390 double _stop_angle_surface_;
391 double _outer_volume_;
392 double _inner_volume_;
406 #endif // GEOMTOOLS_POLYCONE_H
#define GEOMTOOLS_OBJECT_3D_REGISTRATION_INTERFACE(ModelClassName)
Definition: i_object_3d.h:260