Graphviz 13.0.0~dev.20241220.2304
|
#include "config.h"
#include <assert.h>
#include <math.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <util/agxbuf.h>
#include <util/prisize_t.h>
#include <common/macros.h>
#include <common/const.h>
#include <gvc/gvplugin_render.h>
#include <gvc/gvplugin_device.h>
#include <gvc/gvio.h>
#include <gvc/gvcint.h>
Go to the source code of this file.
Macros | |
#define | _GNU_SOURCE |
#define | POV_VERSION "#version 3.6;\n" |
#define | POV_GLOBALS "global_settings { assumed_gamma 1.0 }\n" |
#define | POV_DEFAULT "#default { finish { ambient 0.1 diffuse 0.9 } }\n" |
#define | POV_INCLUDE |
#define | POV_LIGHT "light_source { <1500,3000,-2500> color White }\n" |
#define | POV_CAMERA |
#define | POV_SKY_AND_GND |
#define | POV_BOX "box { <%.3f, %.3f, %.3f>, <%.3f, %.3f, %.3f>\n" |
#define | POV_SCALE1 "scale %.3f\n" |
#define | POV_SCALE3 "scale "POV_VECTOR3"\n" |
#define | POV_ROTATE "rotate "POV_VECTOR3"\n" |
#define | POV_TRANSLATE "translate<%9.3f, %9.3f, %d.000>\n" |
#define | END "}\n" |
#define | POV_TORUS "torus { %.3f, %.3f\n" |
#define | POV_SPHERE_SWEEP |
#define | POV_SPHERE "sphere {"POV_VECTOR3", 1.0\n" |
#define | POV_TEXT |
#define | POV_DECLARE "#declare %s = %s;\n" |
#define | POV_OBJECT "object { %s }\n" |
#define | POV_VERBATIM "%s\n" |
#define | POV_DEBUG "#debug %s\n" |
#define | POV_POLYGON "polygon { %" PRISIZE_T ",\n" |
#define | POV_VECTOR3 "<%9.3f, %9.3f, %9.3f>" |
#define | POV_PIGMENT_COLOR "pigment { color %s }\n" |
#define | POV_COLOR_NAME "%s transmit %.3f" |
#define | POV_COLOR_RGB "rgb"POV_VECTOR3" transmit %.3f" |
#define | POV_COLORS |
#define | GV_OBJ_EXT(type, obj, name) |
#define | DPI 72.0 |
#define | RENDERER_COLOR_TYPE RGBA_BYTE |
Enumerations | |
enum | format_type { FORMAT_POV } |
Functions | |
static char * | pov_color_as_str (GVJ_t *job, gvcolor_t color, float transparency) |
static void | pov_comment (GVJ_t *job, char *str) |
static void | pov_begin_job (GVJ_t *job) |
static void | pov_begin_graph (GVJ_t *job) |
static void | pov_end_graph (GVJ_t *job) |
static void | pov_begin_layer (GVJ_t *job, char *layername, int layerNum, int numLayers) |
static void | pov_end_layer (GVJ_t *job) |
static void | pov_begin_page (GVJ_t *job) |
static void | pov_end_page (GVJ_t *job) |
static void | pov_begin_cluster (GVJ_t *job) |
static void | pov_end_cluster (GVJ_t *job) |
static void | pov_begin_node (GVJ_t *job) |
static void | pov_end_node (GVJ_t *job) |
static void | pov_begin_edge (GVJ_t *job) |
static void | pov_end_edge (GVJ_t *job) |
static void | pov_textspan (GVJ_t *job, pointf c, textspan_t *span) |
static void | pov_ellipse (GVJ_t *job, pointf *A, int filled) |
static void | pov_bezier (GVJ_t *job, pointf *A, size_t n, int filled) |
static void | pov_polygon (GVJ_t *job, pointf *A, size_t n, int filled) |
static void | pov_polyline (GVJ_t *job, pointf *A, size_t n) |
Variables | |
static char * | pov_knowncolors [] = { POV_COLORS } |
static int | layerz = 0 |
static int | z = 0 |
gvrender_engine_t | pov_engine |
gvrender_features_t | render_features_pov |
gvdevice_features_t | device_features_pov |
gvplugin_installed_t | gvrender_pov_types [] |
gvplugin_installed_t | gvdevice_pov_types [] |
#define _GNU_SOURCE |
Definition at line 16 of file gvrender_core_pov.c.
#define DPI 72.0 |
Definition at line 296 of file gvrender_core_pov.c.
#define END "}\n" |
Definition at line 111 of file gvrender_core_pov.c.
#define GV_OBJ_EXT | ( | type, | |
obj, | |||
name | |||
) |
Definition at line 283 of file gvrender_core_pov.c.
#define POV_BOX "box { <%.3f, %.3f, %.3f>, <%.3f, %.3f, %.3f>\n" |
Definition at line 96 of file gvrender_core_pov.c.
#define POV_CAMERA |
Definition at line 53 of file gvrender_core_pov.c.
#define POV_COLOR_NAME "%s transmit %.3f" |
Definition at line 151 of file gvrender_core_pov.c.
#define POV_COLOR_RGB "rgb"POV_VECTOR3" transmit %.3f" |
Definition at line 154 of file gvrender_core_pov.c.
#define POV_COLORS |
Definition at line 159 of file gvrender_core_pov.c.
#define POV_DEBUG "#debug %s\n" |
Definition at line 139 of file gvrender_core_pov.c.
Definition at line 130 of file gvrender_core_pov.c.
#define POV_DEFAULT "#default { finish { ambient 0.1 diffuse 0.9 } }\n" |
Definition at line 42 of file gvrender_core_pov.c.
#define POV_GLOBALS "global_settings { assumed_gamma 1.0 }\n" |
Definition at line 39 of file gvrender_core_pov.c.
#define POV_INCLUDE |
Definition at line 45 of file gvrender_core_pov.c.
#define POV_LIGHT "light_source { <1500,3000,-2500> color White }\n" |
Definition at line 50 of file gvrender_core_pov.c.
#define POV_OBJECT "object { %s }\n" |
Definition at line 133 of file gvrender_core_pov.c.
Definition at line 148 of file gvrender_core_pov.c.
#define POV_POLYGON "polygon { %" PRISIZE_T ",\n" |
Definition at line 142 of file gvrender_core_pov.c.
#define POV_ROTATE "rotate "POV_VECTOR3"\n" |
Definition at line 105 of file gvrender_core_pov.c.
#define POV_SCALE1 "scale %.3f\n" |
Definition at line 99 of file gvrender_core_pov.c.
#define POV_SCALE3 "scale "POV_VECTOR3"\n" |
Definition at line 102 of file gvrender_core_pov.c.
#define POV_SKY_AND_GND |
Definition at line 60 of file gvrender_core_pov.c.
#define POV_SPHERE "sphere {"POV_VECTOR3", 1.0\n" |
Definition at line 122 of file gvrender_core_pov.c.
#define POV_SPHERE_SWEEP |
Definition at line 117 of file gvrender_core_pov.c.
#define POV_TEXT |
Definition at line 125 of file gvrender_core_pov.c.
#define POV_TORUS "torus { %.3f, %.3f\n" |
Definition at line 114 of file gvrender_core_pov.c.
#define POV_TRANSLATE "translate<%9.3f, %9.3f, %d.000>\n" |
Definition at line 108 of file gvrender_core_pov.c.
#define POV_VECTOR3 "<%9.3f, %9.3f, %9.3f>" |
Definition at line 145 of file gvrender_core_pov.c.
#define POV_VERBATIM "%s\n" |
Definition at line 136 of file gvrender_core_pov.c.
#define POV_VERSION "#version 3.6;\n" |
Definition at line 36 of file gvrender_core_pov.c.
#define RENDERER_COLOR_TYPE RGBA_BYTE |
Definition at line 297 of file gvrender_core_pov.c.
enum format_type |
Enumerator | |
---|---|
FORMAT_POV |
Definition at line 298 of file gvrender_core_pov.c.
|
static |
Definition at line 457 of file gvrender_core_pov.c.
References gvputs(), and layerz.
|
static |
Definition at line 478 of file gvrender_core_pov.c.
References gvprintf(), gvputs(), and layerz.
|
static |
Definition at line 374 of file gvrender_core_pov.c.
References agnameof(), GVJ_s::bb, GVJ_s::boundingBox, GVJ_s::canvasBox, GVCOMMON_s::cmdname, GVJ_s::common, GVJ_s::devscale, GVJ_s::focus, obj_state_s::g, GVJ_s::graph_index, gvprintf(), gvputs(), GVCOMMON_s::info, GVJ_s::layerNum, box::LL, boxf::LL, M_PI, GVJ_s::numLayers, GVJ_s::numPages, GVJ_s::obj, GVJ_s::pageBoundingBox, GVJ_s::pageBox, GVJ_s::pagesArrayElem, GVJ_s::pagesArrayFirst, GVJ_s::pagesArraySize, GVJ_s::pageSize, POV_CAMERA, POV_LIGHT, POV_SKY_AND_GND, GVJ_s::rotation, GVJ_s::scale, GVJ_s::translation, obj_state_s::u, box::UR, boxf::UR, GVCOMMON_s::verbose, GVJ_s::view, point::x, pointf_s::x, point::y, pointf_s::y, and GVJ_s::zoom.
|
static |
Definition at line 364 of file gvrender_core_pov.c.
References gvprintf(), gvputs(), POV_DECLARE, POV_DEFAULT, POV_GLOBALS, POV_INCLUDE, and POV_VERSION.
|
static |
Definition at line 435 of file gvrender_core_pov.c.
References gvprintf(), and layerz.
|
static |
Definition at line 468 of file gvrender_core_pov.c.
References agnameof(), gvprintf(), obj_state_s::n, GVJ_s::obj, and obj_state_s::u.
|
static |
Definition at line 447 of file gvrender_core_pov.c.
References gvputs().
Definition at line 593 of file gvrender_core_pov.c.
References A, agxbfree(), agxbprint(), agxbuse(), END, obj_state_s::fillcolor, free(), gvprintf(), gvputs(), layerz, GVJ_s::obj, obj_state_s::penwidth, pov_color_as_str(), POV_ROTATE, POV_SCALE3, POV_SPHERE_SWEEP, POV_TRANSLATE, POV_VECTOR3, GVJ_s::rotation, GVJ_s::scale, GVJ_s::translation, pointf_s::x, pointf_s::y, and z.
Definition at line 318 of file gvrender_core_pov.c.
References agxbdisown(), agxbfree(), agxbprint(), agxbuse(), color(), COLOR_STRING, gvprintf(), POV_COLOR_NAME, POV_COLOR_RGB, POV_PIGMENT_COLOR, RENDERER_COLOR_TYPE, and agxbuf::u.
Referenced by pov_bezier(), pov_ellipse(), pov_polygon(), pov_polyline(), and pov_textspan().
|
static |
Definition at line 359 of file gvrender_core_pov.c.
References gvprintf(), and str.
Definition at line 546 of file gvrender_core_pov.c.
References A, agxbfree(), agxbprint(), agxbuse(), END, obj_state_s::fillcolor, free(), GV_OBJ_EXT, gvprintf(), gvputs(), layerz, GVJ_s::obj, obj_state_s::pencolor, obj_state_s::penwidth, pov_color_as_str(), POV_ROTATE, POV_SCALE3, POV_SPHERE, POV_TORUS, POV_TRANSLATE, GVJ_s::rotation, GVJ_s::scale, GVJ_s::translation, pointf_s::x, pointf_s::y, and z.
|
static |
Definition at line 463 of file gvrender_core_pov.c.
References gvputs().
|
static |
Definition at line 487 of file gvrender_core_pov.c.
References gvprintf(), gvputs(), and layerz.
|
static |
Definition at line 430 of file gvrender_core_pov.c.
References gvputs().
|
static |
Definition at line 442 of file gvrender_core_pov.c.
References gvputs().
|
static |
Definition at line 473 of file gvrender_core_pov.c.
References gvputs().
|
static |
Definition at line 452 of file gvrender_core_pov.c.
References gvputs().
Definition at line 632 of file gvrender_core_pov.c.
References A, END, obj_state_s::fillcolor, free(), gvprintf(), gvputs(), layerz, GVJ_s::obj, obj_state_s::pencolor, obj_state_s::penwidth, pov_color_as_str(), POV_POLYGON, POV_ROTATE, POV_SCALE3, POV_SPHERE_SWEEP, POV_TRANSLATE, POV_VECTOR3, GVJ_s::rotation, GVJ_s::scale, GVJ_s::translation, pointf_s::x, pointf_s::y, and z.
Definition at line 679 of file gvrender_core_pov.c.
References A, END, free(), gvprintf(), gvputs(), layerz, GVJ_s::obj, obj_state_s::pencolor, obj_state_s::penwidth, pov_color_as_str(), POV_ROTATE, POV_SCALE3, POV_SPHERE_SWEEP, POV_TRANSLATE, POV_VECTOR3, GVJ_s::rotation, GVJ_s::scale, GVJ_s::translation, pointf_s::x, pointf_s::y, and z.
|
static |
Definition at line 496 of file gvrender_core_pov.c.
References agxbfree(), agxbprint(), agxbuse(), END, textspan_t::font, free(), GV_OBJ_EXT, gvprintf(), gvputs(), textspan_t::just, layerz, textfont_t::name, GVJ_s::obj, obj_state_s::pencolor, textfont_t::postscript_alias, pov_color_as_str(), POV_ROTATE, POV_SCALE1, POV_TEXT, POV_TRANSLATE, GVJ_s::rotation, GVJ_s::scale, textfont_t::size, textspan_t::size, textspan_t::str, GVJ_s::translation, pointf_s::x, pointf_s::y, and z.
gvdevice_features_t device_features_pov |
Definition at line 751 of file gvrender_core_pov.c.
gvplugin_installed_t gvdevice_pov_types[] |
Definition at line 763 of file gvrender_core_pov.c.
gvplugin_installed_t gvrender_pov_types[] |
Definition at line 758 of file gvrender_core_pov.c.
|
static |
Definition at line 315 of file gvrender_core_pov.c.
Referenced by pov_begin_cluster(), pov_begin_edge(), pov_begin_layer(), pov_bezier(), pov_ellipse(), pov_end_edge(), pov_polygon(), pov_polyline(), and pov_textspan().
gvrender_engine_t pov_engine |
Definition at line 701 of file gvrender_core_pov.c.
|
static |
Definition at line 313 of file gvrender_core_pov.c.
gvrender_features_t render_features_pov |
Definition at line 734 of file gvrender_core_pov.c.
|
static |
Definition at line 316 of file gvrender_core_pov.c.
Referenced by btnToolFit_clicked(), btnToolZoomFit_clicked(), color_xyz_init(), conjugate_gradient(), glCompDrawText3D(), gvdevice_finalize(), gvdevice_initialize(), gvwrite(), LAB2RGB(), pick_object_xyz(), pov_bezier(), pov_ellipse(), pov_polygon(), pov_polyline(), pov_textspan(), RBDelete(), renderEdgeLabels(), RGB2LAB(), SWIG_ConvertPtr(), SWIG_ConvertPtrAndOwn(), SWIG_SetPointerZval(), TreeInsertHelp(), triangle_center(), user_pos(), and XYZ2RGB().