![]() |
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. |