140 lines
4.4 KiB
Plaintext
140 lines
4.4 KiB
Plaintext
class Evas.Canvas3D.Primitive (Evas.Canvas3D.Object, Evas.Common_Interface)
|
|
{
|
|
legacy_prefix: null;
|
|
data: Evas_Canvas3D_Primitive_Data;
|
|
|
|
methods {
|
|
@property form {
|
|
set {
|
|
[[Set the form of the given primitive.
|
|
|
|
Form defines which function will be chosen to set data to mesh
|
|
on call of evas_canvas3d_mesh_primitive_set.
|
|
|
|
Now avaliable next forms of primitives are tabulated primitives (SQUARE and CUBE),
|
|
solids of revolution (CYLINDER, CONE, SPHERE and TORUS) and surfaces (SURFACE and TERRAIN).
|
|
|
|
Default form is EVAS_CANVAS3D_MESH_PRIMITIVE_NONE.]]
|
|
}
|
|
get {
|
|
[[Get the form of the given primitive.
|
|
|
|
See also @.form.set.]]
|
|
}
|
|
values {
|
|
form: Evas.Canvas3D.Mesh_Primitive; [[Form of primitive.]]
|
|
}
|
|
}
|
|
@property mode {
|
|
set {
|
|
[[Set the mode of the given primitive.
|
|
|
|
Mode defines which function will be chosen to set data to mesh
|
|
on call of evas_canvas3d_mesh_primitive_set. It helps to choose
|
|
alternative algorithm for primitive with given form
|
|
(like cone without base or sphere textured in alternative way).
|
|
|
|
Now avaliable next mods of primitives are
|
|
witout base (bases) (supported for cylinder and cone) and
|
|
with alternative UV (supported by sphere).
|
|
|
|
Default form is EVAS_CANVAS3D_PRIMITIVE_MODE_DEFAULT.]]
|
|
}
|
|
get {
|
|
[[Get the mode of the given primitive.
|
|
|
|
See also @.mode.set.]]
|
|
}
|
|
values {
|
|
mode: Evas.Canvas3D.Primitive_Mode; [[Mode of primitive.]]
|
|
}
|
|
}
|
|
@property ratio {
|
|
set {
|
|
[[Set the ratio of the given primitive.
|
|
|
|
Now ratio uses only in torus as the ratio of the
|
|
major radius and minor radius. For this usage
|
|
Avaliable values is from 1.0 to infinity.
|
|
If ratio for torus has a bad value,
|
|
will be used 3.0 as ratio. Like ratio of usual doughnut.
|
|
|
|
Default ratio is 3.0.]]
|
|
}
|
|
get {
|
|
[[Get the ratio of the given primitive.
|
|
|
|
See also @.ratio.set.]]
|
|
}
|
|
values {
|
|
ratio: Evas_Real; [[Ratio of primitive.]]
|
|
}
|
|
}
|
|
@property precision {
|
|
set {
|
|
[[Set the precision of the given primitive.
|
|
|
|
Precision uses in all non tabulated primitives and defines
|
|
precision of created primitives.
|
|
Avaliable values is from 3 to infinity.
|
|
But if value will be more than 100, should be a warning
|
|
about possibility of incorrect or slow work.
|
|
|
|
Default ratio is 10.]]
|
|
}
|
|
get {
|
|
[[Get the precision of the given primitive.
|
|
|
|
See also @.precision.set.]]
|
|
}
|
|
values {
|
|
precision: int; [[Precision of primitive.]]
|
|
}
|
|
}
|
|
@property surface {
|
|
set {
|
|
[[Set the surface of the given primitive.
|
|
|
|
Surface uses only in surface primitive and defines
|
|
equation of filling mesh data on call of
|
|
evas_canvas3d_mesh_primitive_set.
|
|
|
|
It gives possibility to create customers primitives like
|
|
shell, heart, hyperbolic paraboloid etc. See _shell_func in
|
|
examples/evas/evas-3d-visual-test.c or _perlin_terrain in
|
|
modules/evas/primitives/surfaces/terrain.c as an example of usage.
|
|
|
|
Default surface is $null]]
|
|
}
|
|
values {
|
|
surface: Evas.Canvas3D.Surface_Func *; [[Pointer to customers surface function.]]
|
|
}
|
|
}
|
|
@property tex_scale {
|
|
set {
|
|
[[Set the texture scale of the given primitive.
|
|
|
|
Texture scale uses in all non tabulated primitives
|
|
and defines scale of texture coords or primitives.
|
|
|
|
It uses to create periodical textured meshes.
|
|
|
|
Default tex_scale is {1.0, 1.0}]]
|
|
}
|
|
get {
|
|
[[Get the texture scale of the given primitive.
|
|
|
|
See also @.tex_scale.set.]]
|
|
}
|
|
values {
|
|
tex_scale_x: Evas_Real;
|
|
tex_scale_y: Evas_Real;
|
|
}
|
|
}
|
|
}
|
|
implements {
|
|
Eo.Base.constructor;
|
|
Eo.Base.destructor;
|
|
}
|
|
}
|