|  | 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. |