RevCone#

A revolution cone is a revolution trunk where second radius is equal to 0 (RevCone class inherits from RevTrunk class).

Figure made with TikZ

Figure made with TikZ

To define a:cpp:class:~xlifepp::RevCone geometry, give a center, a radius, and an apex, through parameters _center, _radius and _apex. _center and _apex parameters take a point or a single value (in this case, it is like a 1D point), whereas _radius parameter takes a single positive value.

As RevTrunk, RevCone offers you more the ability to add an extension to the basis of a revolution cone. See RevTrunk for how to define this extension. To do so, use parameters _end_shape, taking a GeometricEndShape, and _end_distance, taking one single positive value.

_nnodes parameter can take one single value, an explicit list of 2 or \(n\) values or a Numbers object, where \(n\) is twice the number of edges of the basis. _hsteps parameter can take one real value, an explicit list of \(p\) real values or a Reals object, where \(p\) is the number of points defining the cone. If required, give names of main domain and side domains as explained in Geometry definition.

You also have an additional parameter, _nbsubdomains, enabling you to slice the main cone (without its extension) in as many domains as you want.

Let’s summarize information about geometrical keys on revolution cones:

key(s)

authorized types

examples

_apex, _center

Point

_apex=Point(0.,0.,0.)

_radius

single unsigned integer or real positive value

_radius=1, _radius=2.5

_end_shape

enum GeometricEndShape

_end_shape= gesNone, _end_shape= gesFlat, _end_shape= gesCone, _end_shape= gesEllipsoid, _end_shape= gesSphere

_end_distance

single unsigned integer or real positive value

_end_distance=1, _end_distance=2.5

_nbsubdomains

single unsigned integer value

_nbsubdomains=2