3DCoat Core API
The 3DCoat API documentation.
|
The sphere. More...
#include <CorePrimAPI.h>
Public Types | |
enum | DivisionMode { DIV_TRIANGLE = 0 , DIV_MERIDIAN = 1 , DIV_CUBE = 2 } |
division modes More... | |
Public Member Functions | |
sphere () | |
constructs a new sphere object. | |
sphere (float radius) | |
constructs a new sphere object with radius. | |
sphere (const vec3 &pos, float radius) | |
constructs a new sphere object with position and radius. | |
sphere & | radius (const float &r) |
set the radius of the sphere. | |
float | radius () const |
get the radius of the sphere. | |
sphere & | diameter (const float &d) |
set the diameter of the sphere. | |
float | diameter () const |
get the diameter of the sphere. | |
sphere & | sub_division (const int subdiv) |
set the degree for subdivision in the mesh. | |
int | sub_division () const |
get the degree of subdivision triangular or cubic division of the sphere. | |
sphere & | sub_div_mode (const sphere::DivisionMode &divmode) |
set the division mode for the mesh. | |
sphere::DivisionMode | sub_div_mode () const |
get the division mode for the mesh. | |
sphere & | rings (const int &_rings) |
set the number of rings in the mesh. | |
int | rings () const |
get the number of rings in the mesh. | |
sphere & | slices (const int &_slices) |
set the number of slices in the mesh. | |
int | slices () const |
get the number of slices in the mesh. | |
sphere & | sector_on (const bool &_switch) |
set the flag to create a portion of sphere. | |
bool | sector_on () const |
get the flag of creating a portion of sphere. Default = false. | |
sphere & | slice_from (const float &angle) |
When sector is on, specifies the angle where the sphere slice begins. | |
float | slice_from () const |
get the angle where the sphere slice begins. | |
sphere & | slice_to (const float &angle) |
When sector is on, specifies the angle where the sphere slice ends. | |
float | slice_to () const |
get the angle where the sphere slice ends. | |
sphere & | ring_from (const float &angle) |
When sector is on, specifies the angle where the sphere ring begins. | |
float | ring_from () const |
get the angle where the sphere ring begins. | |
sphere & | ring_to (const float &angle) |
When sector is on, specifies the angle where the sphere ring ends. | |
float | ring_to () const |
get the angle where the sphere ring ends. | |
Public Member Functions inherited from coat::prim | |
prim () | |
constructs a new prim object. | |
str | class_name () |
get the primitive class name. | |
prim & | name (const char *s) |
set the primitive object name. | |
str | name () const |
get the primitive object name. | |
void | add (Volume &v) |
add the prim into scene | |
void | subtract (Volume &v) |
subtract the prim from scene | |
void | intersect (Volume &v) |
intersect the prim into scene | |
void | merge (Volume &v, const BoolOpType op) |
merge the prim into scene | |
Mesh | mesh () |
get the mesh prim | |
prim & | color (DWORD CL) |
assign the color to the primitive (in voxels) | |
prim & | color (float r, float g, float b, float a) |
assign the color to the primitive (in voxels) | |
prim & | color (float r, float g, float b) |
assign the color to the primitive (in voxels) | |
prim & | color (const char *colorid) |
assign the color to the primitive (in voxels) | |
prim & | gloss (float value) |
assign the gloss for the voxel primitive, it will work only if the color already assigned | |
prim & | roughness (float value) |
assign the roughness for the voxel primitive, it will work only if the color already assigned | |
prim & | metal (float value) |
the metalliclty value for the voxel primitive, it will work only if the color already assigned | |
prim & | opacity (float value) |
assign the opacity of the color over the voxel primitive. The color should be assigned before you assign the opacity, for example p.color("red").opacity(0.5) | |
prim & | details (const float det_level) |
set the detail level | |
float | details () |
get the detail level | |
prim & | transform (const mat4 &t) |
set the transform matrix | |
mat4 | transform () const |
get the transform matrix | |
prim & | scale (float scale) |
set the scale | |
prim & | scale (const vec3 &v) |
set the scale | |
vec3 | scale () const |
get the scale | |
prim & | translate (const vec3 &_pos) |
Set the primitive translation. | |
vec3 | translate () const |
get the primitive translation | |
prim & | translate (float x, float y, float z) |
Set the primitive translation. | |
prim & | x (float x) |
shift the primitive along the x - axis | |
prim & | y (float y) |
shift the primitive along the y - axis | |
prim & | z (float z) |
shift the primitive along the z - axis | |
prim & | auto_divide (float average_div) |
set the auto devide | |
prim & | step_divide (float step) |
set the step devide | |
prim & | fillet (float radius) |
set the fillet | |
template<typename T > | |
T & | Obj () |
Get the primitive object reference. | |
template<typename T > | |
bool | isAs () |
Check the prim's type. | |
virtual float | fillet_relative () |
calculates a fillet relative value (0..1). | |
Protected Member Functions | |
virtual cMeshContainer * | create_mesh () |
creates a mesh container for the sphere. | |
virtual void | density_subdiv (int &slices, int &rings) |
calculates the density-based subdivisions. | |
Protected Member Functions inherited from coat::prim | |
template<class T > | |
T & | to_cast_this () |
cast this prim to the obj type T | |
void | merge_debug (Volume &vol, Mesh &mesh) |
merge the mesh debug into scene | |
Friends | |
class | ellipse |
Additional Inherited Members | |
Static Public Member Functions inherited from coat::prim | |
static void | debug_on (bool isOn=true) |
indicates whether to turn on or off the debug mode. | |
static void | debug_clear () |
clear the debug info for primitive operations | |
static void | push_transform (const mat4 &t) |
set the global transform matrix to all primitives | |
static void | push_translate (const vec3 &d) |
Set the translation to all primitives. | |
static void | push_scale (float scale) |
Set the scale to all primitives. | |
static void | push_scale (const vec3 &s) |
Set the scale to all primitives. | |
static void | push_details (float details_modulator) |
set the detail level to all primitives | |
static void | reset_transform () |
reset the global transform matrix | |
Protected Attributes inherited from coat::prim | |
prim * | _this |
The sphere.
coat::sphere::sphere | ( | float | radius | ) |
constructs a new sphere object with radius.
radius | sphere radius |
coat::sphere::sphere | ( | const vec3 & | pos, |
float | radius ) |
constructs a new sphere object with position and radius.
pos | sphere position |
radius | sphere radius |
|
protectedvirtual |
creates a mesh container for the sphere.
Reimplemented from coat::prim.
Reimplemented in coat::ellipse.
|
protectedvirtual |
calculates the density-based subdivisions.
slices | the number of subdivisions around the Z axis |
rings | the number of subdivisions along the Z axis |
Reimplemented in coat::ellipse.
float coat::sphere::diameter | ( | ) | const |
get the diameter of the sphere.
sphere & coat::sphere::diameter | ( | const float & | d | ) |
set the diameter of the sphere.
d | diameter. |
float coat::sphere::radius | ( | ) | const |
get the radius of the sphere.
sphere & coat::sphere::radius | ( | const float & | r | ) |
float coat::sphere::ring_from | ( | ) | const |
get the angle where the sphere ring begins.
sphere & coat::sphere::ring_from | ( | const float & | angle | ) |
When sector is on, specifies the angle where the sphere ring begins.
angle | the angle for sphere ring begin |
float coat::sphere::ring_to | ( | ) | const |
get the angle where the sphere ring ends.
sphere & coat::sphere::ring_to | ( | const float & | angle | ) |
When sector is on, specifies the angle where the sphere ring ends.
angle | the angle for sphere ring end |
int coat::sphere::rings | ( | ) | const |
get the number of rings in the mesh.
sphere & coat::sphere::rings | ( | const int & | _rings | ) |
set the number of rings in the mesh.
_rings | number of rings. |
bool coat::sphere::sector_on | ( | ) | const |
get the flag of creating a portion of sphere. Default = false.
sphere & coat::sphere::sector_on | ( | const bool & | _switch | ) |
set the flag to create a portion of sphere.
_switch | the boolean true/false value |
float coat::sphere::slice_from | ( | ) | const |
get the angle where the sphere slice begins.
sphere & coat::sphere::slice_from | ( | const float & | angle | ) |
When sector is on, specifies the angle where the sphere slice begins.
angle | the angle for sphere slice begin |
float coat::sphere::slice_to | ( | ) | const |
get the angle where the sphere slice ends.
sphere & coat::sphere::slice_to | ( | const float & | angle | ) |
When sector is on, specifies the angle where the sphere slice ends.
angle | the angle for sphere slice end |
int coat::sphere::slices | ( | ) | const |
get the number of slices in the mesh.
sphere & coat::sphere::slices | ( | const int & | _slices | ) |
set the number of slices in the mesh.
_slices | number of slices. |
sphere::DivisionMode coat::sphere::sub_div_mode | ( | ) | const |
get the division mode for the mesh.
sphere & coat::sphere::sub_div_mode | ( | const sphere::DivisionMode & | divmode | ) |
set the division mode for the mesh.
divmode | mode of the mesh division. |
int coat::sphere::sub_division | ( | ) | const |
get the degree of subdivision triangular or cubic division of the sphere.
sphere & coat::sphere::sub_division | ( | const int | subdiv | ) |
set the degree for subdivision in the mesh.
subdiv | subdivision. |