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