23 #if ! defined (octave_gl_render_h) 24 #define octave_gl_render_h 1 26 #include "octave-config.h" 51 virtual void draw (
const Matrix& hlist,
bool toplevel =
false)
53 int len = hlist.
numel ();
55 for (
int i = len-1;
i >= 0;
i--)
64 virtual void set_viewport (
int w,
int h);
68 virtual void finish (
void);
80 bool do_rotate =
false);
86 virtual void init_gl_context (
bool enhanced,
const Matrix& backgroundColor);
89 virtual void set_clipbox (
double x1,
double x2,
double y1,
double y2,
90 double z1,
double z2);
91 virtual void set_clipping (
bool on);
93 virtual void set_color (
const Matrix&
c);
98 virtual void set_linewidth (
float w);
99 virtual void set_linestyle (
const std::string&
s,
bool stipple =
false,
100 double linewidth = 0.5);
103 virtual void set_polygon_offset (
bool on,
float offset = 0.0
f);
109 virtual void init_marker (
const std::string& m,
double size,
float width);
110 virtual void end_marker (
void);
111 virtual void draw_marker (
double x,
double y,
double z,
114 virtual void text_to_pixels (
const std::string& txt,
117 int halign = 0,
int valign = 0,
118 double rotation = 0.0);
120 virtual void text_to_strlist (
const std::string& txt,
121 std::list<text_renderer::string>& lst,
123 int halign = 0,
int valign = 0,
124 double rotation = 0.0);
127 double x,
double y,
double z,
128 int halign,
int valign,
double rotation = 0.0);
130 virtual void draw_pixels (
int w,
int h,
const float *data);
131 virtual void draw_pixels (
int w,
int h,
const uint8_t *data);
132 virtual void draw_pixels (
int w,
int h,
const uint16_t *data);
134 virtual void render_grid (
const double linewidth,
136 const Matrix& gridcolor,
const double gridalpha,
137 const Matrix& ticks,
double lim1,
double lim2,
138 double p1,
double p1N,
double p2,
double p2N,
139 int xyz,
bool is_3D);
141 virtual void render_tickmarks (
const Matrix& ticks,
double lim1,
double lim2,
142 double p1,
double p1N,
double p2,
double p2N,
143 double dx,
double dy,
double dz,
144 int xyz,
bool doubleside);
146 virtual void render_ticktexts (
const Matrix& ticks,
148 double lim1,
double lim2,
149 double p1,
double p2,
150 int xyz,
int ha,
int va,
151 int& wmax,
int& hmax);
165 return ((
x <
xmin ? 1 : 0)
166 | (
x >
xmax ? 1 : 0) << 1
167 | (
y < ymin ? 1 : 0) << 2
168 | (
y > ymax ? 1 : 0) << 3
169 | (z < zmin ? 1 : 0) << 4
170 | (z > zmax ? 1 : 0) << 5
174 void set_normal (
int bfl_mode,
const NDArray& n,
int j,
int i);
176 unsigned int make_marker_list (
const std::string& m,
double size,
190 std::list<graphics_object>& obj_list);
virtual void set_selecting(bool on)
octave_int< T > xmax(const octave_int< T > &x, const octave_int< T > &y)
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE * f
virtual void draw(const Matrix &hlist, bool toplevel=false)
nd example oindent opens the file binary numeric values will be read assuming they are stored in IEEE format with the least significant bit and then converted to the native representation Opening a file that is already open simply opens it again and returns a separate file id It is not an error to open a file several though writing to the same file through several different file ids may produce unexpected results The possible values of text mode reading and writing automatically converts linefeeds to the appropriate line end character for the you may append a you must also open the file in binary mode The parameter conversions are currently only supported for and permissions will be set to and then everything is written in a single operation This is very efficient and improves performance c
text_renderer txt_renderer
std::complex< double > w(std::complex< double > z, double relerr=0)
virtual void set_linecap(const std::string &)
octave_uint8 clip_code(double x, double y, double z) const
bool is_nan_or_inf(double x, double y, double z) const
octave_int< T > xmin(const octave_int< T > &x, const octave_int< T > &y)
virtual graphics_xform get_transform(void) const
unsigned int current_light
virtual void set_linejoin(const std::string &)
the element is set to zero In other the statement xample y
static graphics_object get_object(double val)
static bool is_nan_or_inf(const octave_value &val)
octave_idx_type numel(void) const
Number of elements in the array.
virtual void set_interpreter(const caseless_str &interp)
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
void xform(ColumnVector &v, const Matrix &m)
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x