_
3DA special plot that draws its data in three dimension. The data associated with such plots should either be a function or a Gtk.Extra.Plot_Surface.
Widget Hierarchy |
---|
GObject (see Package_Glib.Object) Gtk_Object (see Package_Gtk.Object) \___ Gtk_Widget (see Package_Gtk.Widget) \___ Gtk_Plot (see Package_Gtk.Extra.Plot) \___ Gtk_Plot_3D (see Package_Gtk.Extra.Plot_3D) |
Types |
---|
| |
| |
| |
Subprograms |
---|
procedure Gtk_New (Widget : out Gtk_Plot_3D; Drawable : Gdk.Drawable.Gdk_Drawable; Width, Height : Gdouble := 0.0); | ||
Create a new 3D plot. | ||
function Get_Type return Gtk.Gtk_Type; | ||
Return the internal value associated with this widget. | ||
procedure Autoscale (Plot : access Gtk_Plot_3D_Record); | ||
Chooses the best ranges for all coordinates depending on the data sets put in Plot. Note that only data sets whose points you have set explicitely are taken into account, not the ones based on functions. | ||
function Get_Xfactor (Plot : access Gtk_Plot_3D_Record) return Gdouble; | ||
function Get_Zfactor (Plot : access Gtk_Plot_3D_Record) return Gdouble; | ||
Get the scaling factor along each of the coordinates. | ||
procedure Set_Xfactor (Plot : access Gtk_Plot_3D_Record; Xfactor : Gdouble); | ||
procedure Set_Zfactor (Plot : access Gtk_Plot_3D_Record; Zfactor : Gdouble); | ||
Set the scaling factor along each of the coordinates | ||
procedure Set_Xrange (Plot : access Gtk_Plot_3D_Record; Min, Max : Gdouble); | ||
procedure Set_Zrange (Plot : access Gtk_Plot_3D_Record; Min, Max : Gdouble); | ||
Set the minimal and maximal values for each axis. | ||
Axis | ||
procedure Axis_Hide_Title (Plot : access Gtk_Plot_3D_Record; Side : Plot_Side); | ||
Hide the title associated with the axis. | ||
procedure Axis_Set_Major_Ticks (Plot : access Gtk_Plot_3D_Record; Axis : Gtk.Extra.Plot.Plot_Orientation; Major_Step : Gdouble); | ||
Modify the step for major ticks. This is a percentage value that indicates how many major ticks are drawn along the axis. See also Axis_Set_Ticks. | ||
procedure Axis_Set_Minor_Ticks (Plot : access Gtk_Plot_3D_Record; Axis : Gtk.Extra.Plot.Plot_Orientation; Nminor : Gint); | ||
Modify the number of minor ticks between each major one. See also Axis_Set_Ticks. | ||
procedure Axis_Set_Ticks (Plot : access Gtk_Plot_3D_Record; Axis : Gtk.Extra.Plot.Plot_Orientation; Major_Step : Gdouble; Nminor : Gint); | ||
Set up ticks for a specific orientation. A horizontal orientation will match the left and right sides, whereas a vertical orientation will match the top and bottom sides. Major_Step is a percentage value of the widget size, and indicate the step between each big ticks. For instance, if Major_Step has a value of 0.2, there will be 5 big ticks drawn along the axis. Num_Minor is the number of minor ticks between each major one. | ||
procedure Axis_Set_Ticks_Length (Plot : access Gtk_Plot_3D_Record; Axis : Gtk.Extra.Plot.Plot_Orientation; Length : Gint); | ||
Set the length (in pixels) of the big ticks. The small ticks will have half this length. | ||
procedure Axis_Set_Ticks_Width (Plot : access Gtk_Plot_3D_Record; Axis : Gtk.Extra.Plot.Plot_Orientation; Width : Gfloat); | ||
Set the width (in pixels) of the ticks. This width is common to both the long and short ticks. | ||
procedure Axis_Show_Labels (Plot : access Gtk_Plot_3D_Record; Side : Plot_Side; Label_Mask : Gint); | ||
Indicate whether a label should be drawn at each ticks to indicate its value. Not all values of Labels_Mask are relevant for all axis. For instance, for a vertical axis, the relevant values are Label_Right and Label_Left. | ||
procedure Axis_Show_Major_Ticks (Plot : access Gtk_Plot_3D_Record; Side : Plot_Side; Ticks_Mask : Gtk.Extra.Plot.Plot_Ticks_Pos); | ||
Set the style of the major ticks along one of the axis | ||
procedure Axis_Show_Minor_Ticks (Plot : access Gtk_Plot_3D_Record; Side : Plot_Side; Ticks_Mask : Gtk.Extra.Plot.Plot_Ticks_Pos); | ||
Set the style of the minor ticks along one of the axis | ||
procedure Axis_Show_Ticks (Plot : access Gtk_Plot_3D_Record; Side : Plot_Side; Major_Mask : Gtk.Extra.Plot.Plot_Ticks_Pos; Minor_Mask : Gtk.Extra.Plot.Plot_Ticks_Pos); | ||
Set the style of the ticks. | ||
procedure Axis_Show_Title (Plot : access Gtk_Plot_3D_Record; Side : Plot_Side); | ||
Show the title associated with the axis. | ||
function Get_Axis (Plot : access Gtk_Plot_3D_Record; Orientation : Gtk.Extra.Plot.Plot_Orientation) return Gtk.Extra.Plot.Gtk_Plot_Axis; | ||
Return a handle to a specific axis. | ||
function Get_Side (Plot : access Gtk_Plot_3D_Record; Side : Plot_Side) return Gtk.Extra.Plot.Gtk_Plot_Axis; | ||
Get the axis for a specific side. | ||
procedure Axis_Set_Scale (Plot : access Gtk_Plot_3D_Record; Axis : Gtk.Extra.Plot.Plot_Orientation; Scale : Gtk.Extra.Plot.Plot_Scale); | ||
Set the scale for the axis | ||
function Axis_Get_Scale (Plot : access Gtk_Plot_3D_Record; Axis : Gtk.Extra.Plot.Plot_Orientation) return Gtk.Extra.Plot.Plot_Scale; | ||
Get the current sale for the axis | ||
Grid | ||
procedure Major_Grids_Set_Visible (Plot : access Gtk_Plot_3D_Record; X, Y, Z : Boolean); | ||
Indicate whether the grid should be displayed for each coordinate | ||
procedure Major_Grids_Visible (Plot : access Gtk_Plot_3D_Record; X, Y, Z : out Boolean); | ||
Indicate whether the grid is currently displayed. | ||
procedure Minor_Grids_Set_Visible (Plot : access Gtk_Plot_3D_Record; X, Y, Z : Boolean); | ||
Indicate whether the grid should be displayed for each coordinate | ||
procedure Minor_Grids_Visible (Plot : access Gtk_Plot_3D_Record; X, Y, Z : out Boolean); | ||
Indicate whether the grid is currently displayed. | ||
procedure Major_Zgrid_Get_Attributes (Plot : access Gtk_Plot_3D_Record; Style : out Gtk.Extra.Plot_Data.Plot_Line_Style; Width : out Gfloat; Color : out Gdk.Color.Gdk_Color); | ||
Get the attributes of the major grid | ||
procedure Major_Zgrid_Set_Attributes (Plot : access Gtk_Plot_3D_Record; Style : Gtk.Extra.Plot_Data.Plot_Line_Style; Width : Gfloat; Color : Gdk.Color.Gdk_Color); | ||
Set the attributes of the major grid | ||
procedure Minor_Zgrid_Get_Attributes (Plot : access Gtk_Plot_3D_Record; Style : out Gtk.Extra.Plot_Data.Plot_Line_Style; Width : out Gfloat; Color : out Gdk.Color.Gdk_Color); | ||
Get the attributes of the minor grid | ||
procedure Minor_Zgrid_Set_Attributes (Plot : access Gtk_Plot_3D_Record; Style : Gtk.Extra.Plot_Data.Plot_Line_Style; Width : Gfloat; Color : Gdk.Color.Gdk_Color); | ||
Set the attributes of the minor grid | ||
Rotating | ||
procedure Reset_Angles (Plot : access Gtk_Plot_3D_Record); | ||
reset all the angles to their default values | ||
procedure Rotate (Plot : access Gtk_Plot_3D_Record; Angle_X, Angle_Y, Angle_Z : Gdouble); | ||
Rotate the plot along the three axis at the same time. The angles are specified in degrees. | ||
procedure Rotate_Vector (Plot : access Gtk_Plot_3D_Record; Vector : Plot_Vector; A1, A2, A3 : Gdouble); | ||
Rotate Vector along the three axis. The three angles A1, A2 and A3 are specified in degrees. | ||
procedure Rotate_X (Plot : access Gtk_Plot_3D_Record; Angle : Gdouble); | ||
procedure Rotate_Z (Plot : access Gtk_Plot_3D_Record; Angle : Gdouble); | ||
Rotate the plot along a specific axis. Angle is specific in degrees. | ||
Planes | ||
A 3D plot is associated, as usual, with three axis (one per coordinate X, Y and Z). These three axis, together, define 3 planes that can be shown or hidden, and on which a grid can be displayed to make it easy to visualize the value of the data. | ||
procedure Plane_Set_Color (Plot : access Gtk_Plot_3D_Record; Plane : Plot_Plane; Color : Gdk.Color.Gdk_Color); | ||
Define the background color to use for one of the planes. Each plane can have its own color. | ||
procedure Plane_Set_Visible (Plot : access Gtk_Plot_3D_Record; Plane : Plot_Plane; Visible : Boolean); | ||
Indicate whether each plane should be displayed or not. | ||
function Plane_Visible (Plot : access Gtk_Plot_3D_Record; Plane : Plot_Plane) return Boolean; | ||
Indicate whether a plane is currently visible or not. | ||
Corners | ||
In addition to drawing the three planes defined by the axis, a 3D plot can also draw some lines to draw a cube around the plot (although the three new planes defined by these lines are left transparent so that the plot is visible. | ||
procedure Corner_Get_Attributes (Plot : access Gtk_Plot_3D_Record; Style : out Gtk.Extra.Plot_Data.Plot_Line_Style; Width : out Gfloat; Color : out Gdk.Color.Gdk_Color); | ||
Get the style of the corner lines. | ||
procedure Corner_Set_Attributes (Plot : access Gtk_Plot_3D_Record; Style : Gtk.Extra.Plot_Data.Plot_Line_Style; Width : Gfloat; Color : Gdk.Color.Gdk_Color); | ||
Define the style of the corner lines. | ||
procedure Corner_Set_Visible (Plot : access Gtk_Plot_3D_Record; Visible : Boolean); | ||
Whether corners should be visible | ||
function Corner_Visible (Plot : access Gtk_Plot_3D_Record) return Boolean; | ||
Indicate whether corners are visible | ||
Misc | ||
procedure Frame_Get_Attributes (Plot : access Gtk_Plot_3D_Record; Style : out Gtk.Extra.Plot_Data.Plot_Line_Style; Width : out Gfloat; Color : out Gdk.Color.Gdk_Color); | ||
procedure Frame_Set_Attributes (Plot : access Gtk_Plot_3D_Record; Style : Gtk.Extra.Plot_Data.Plot_Line_Style; Width : Gfloat; Color : Gdk.Color.Gdk_Color); | ||
procedure Get_Pixel (Plot : access Gtk_Plot_3D_Record; X, Y, Z : Gdouble; Px, Py, Pz : out Gdouble); | ||
function Get_Titles_Offset (Plot : access Gtk_Plot_3D_Record) return Gint; | ||
procedure Set_Titles_Offset (Plot : access Gtk_Plot_3D_Record; Offset : Gint); | ||