Detailed Description
GP file reader writing decompositions to gnuplot files.
Definition in file reader_gp.cpp.
#include <assert.h>
#include <string.h>
#include <cstring>
#include <fstream>
#include "scip/scip.h"
#include "reader_gp.h"
#include "scip_misc.h"
#include "struct_decomp.h"
#include "cons_decomp.h"
#include "cons_decomp.hpp"
#include "pub_decomp.h"
#include "params_visu.h"
#include "class_partialdecomp.h"
#include "class_detprobdata.h"
#include "miscvisualization.h"
Go to the source code of this file.
Macros | |
#define | READER_NAME "gpreader" |
#define | READER_DESC "gnuplot file writer for partialdec visualization" |
#define | READER_EXTENSION "gp" |
#define | SCALING_FACTOR_NONZEROS 0.6 |
Functions | |
static | SCIP_DECL_READERFREE (readerFreeGp) |
static | SCIP_DECL_READERWRITE (readerWriteGp) |
static SCIP_RETCODE | writeGpHeader (SCIP *scip, char *filename, const char *outputname, GP_OUTPUT_FORMAT outputformat) |
static SCIP_RETCODE | drawGpBox (SCIP *scip, char *filename, int objectid, int x1, int y1, int x2, int y2, const char *color) |
static SCIP_RETCODE | writeGpNonzeros (SCIP *scip, const char *filename, PARTIALDECOMP *partialdec, float radius) |
static SCIP_RETCODE | writeGpPartialdec (SCIP *scip, char *filename, PARTIALDECOMP *partialdec) |
Adds the gnuplot body of the partialdec visualization to the given file. More... | |
SCIP_RETCODE | GCGwriteGpVisualizationFormat (SCIP *scip, char *filename, char *outputname, int partialdecid, GP_OUTPUT_FORMAT outputformat) |
SCIP_RETCODE | GCGwriteGpVisualization (SCIP *scip, char *filename, char *outputname, int partialdecid) |
SCIP_RETCODE | GCGWriteGpDecompMatrix (SCIP *scip, const char *filename, const char *workfolder, SCIP_Bool originalmatrix) |
SCIP_RETCODE | SCIPincludeReaderGp (SCIP *scip) |
Macro Definition Documentation
◆ READER_NAME
#define READER_NAME "gpreader" |
Definition at line 57 of file reader_gp.cpp.
◆ READER_DESC
#define READER_DESC "gnuplot file writer for partialdec visualization" |
Definition at line 58 of file reader_gp.cpp.
◆ READER_EXTENSION
#define READER_EXTENSION "gp" |
Definition at line 59 of file reader_gp.cpp.
◆ SCALING_FACTOR_NONZEROS
#define SCALING_FACTOR_NONZEROS 0.6 |
Definition at line 61 of file reader_gp.cpp.
Function Documentation
◆ SCIP_DECL_READERFREE()
|
static |
Destructor of reader to free user data (called when SCIP is exiting)
Definition at line 72 of file reader_gp.cpp.
References READER_NAME.
◆ SCIP_DECL_READERWRITE()
|
static |
Problem writing method of reader
Definition at line 81 of file reader_gp.cpp.
References DECgetPartialdecToWrite(), GCGgetFilePath(), GCGgetVisualizationFilename(), GCGwriteGpVisualization(), and gcg::PARTIALDECOMP::getID().
◆ writeGpHeader()
|
static |
Write gnuplot file header with terminal etc.
- Returns
- SCIP status
- Parameters
-
scip SCIP data structure filename filename (including path) to write to outputname the filename to which gnuplot should compile the visualization outputformat the output format which gnuplot should emit
Definition at line 119 of file reader_gp.cpp.
References GP_OUTPUT_FORMAT_PDF, GP_OUTPUT_FORMAT_PNG, and GP_OUTPUT_FORMAT_SVG.
Referenced by GCGwriteGpVisualizationFormat().
◆ drawGpBox()
|
static |
Adds gnuplot code to given file that contains a box with given coordinates and color
- Returns
- SCIP status
- Parameters
-
scip SCIP data structure filename filename (including path) to write to objectid id number of box (>0), must be unique x1 x value of lower left vertex coordinate y1 y value of lower left vertex coordinate x2 x value of upper right vertex coordinate y2 y value of upper right vertex coordinate color color hex code (e.g. #000000) for box filling
Definition at line 159 of file reader_gp.cpp.
References SCIPvisuGetColorLine().
Referenced by writeGpPartialdec().
◆ writeGpNonzeros()
|
static |
Writes gnuplot code to given file that contains all nonzero points
- Returns
- SCIP status
- Parameters
-
scip SCIP data structure filename filename to write to (including path & extension) partialdec PARTIALDECOMP for which the nonzeros should be visualized radius radius of the dots (scaled concerning matrix dimensions)
Definition at line 184 of file reader_gp.cpp.
References gcg::PARTIALDECOMP::getConssForBlock(), gcg::PARTIALDECOMP::getDetprobdata(), gcg::PARTIALDECOMP::getLinkingvars(), gcg::PARTIALDECOMP::getMasterconss(), gcg::PARTIALDECOMP::getMastervars(), gcg::PARTIALDECOMP::getNBlocks(), gcg::PARTIALDECOMP::getNConss(), gcg::PARTIALDECOMP::getNConssForBlock(), gcg::PARTIALDECOMP::getNLinkingvars(), gcg::PARTIALDECOMP::getNMasterconss(), gcg::PARTIALDECOMP::getNMastervars(), gcg::PARTIALDECOMP::getNOpenconss(), gcg::PARTIALDECOMP::getNOpenvars(), gcg::PARTIALDECOMP::getNStairlinkingvars(), gcg::PARTIALDECOMP::getNVars(), gcg::PARTIALDECOMP::getNVarsForBlock(), gcg::DETPROBDATA::getNVarsForCons(), gcg::PARTIALDECOMP::getOpenconss(), gcg::PARTIALDECOMP::getOpenvars(), gcg::PARTIALDECOMP::getStairlinkingvars(), gcg::PARTIALDECOMP::getVarsForBlock(), gcg::DETPROBDATA::getVarsForCons(), and SCIPvisuGetColorNonzero().
Referenced by writeGpPartialdec().
◆ writeGpPartialdec()
|
static |
Adds the gnuplot body of the partialdec visualization to the given file.
Adds the gnuplot body of the partialdec visualization to the given file. This includes axes, blocks and nonzeros.
- Parameters
-
scip SCIP data structure filename filename (including path) to write to partialdec PARTIALDECOMP for which the nonzeros should be visualized
Definition at line 325 of file reader_gp.cpp.
References drawGpBox(), gcg::PARTIALDECOMP::getNBlocks(), gcg::PARTIALDECOMP::getNConss(), gcg::PARTIALDECOMP::getNConssForBlock(), gcg::PARTIALDECOMP::getNLinkingvars(), gcg::PARTIALDECOMP::getNMasterconss(), gcg::PARTIALDECOMP::getNMastervars(), gcg::PARTIALDECOMP::getNOpenconss(), gcg::PARTIALDECOMP::getNOpenvars(), gcg::PARTIALDECOMP::getNStairlinkingvars(), gcg::PARTIALDECOMP::getNVars(), gcg::PARTIALDECOMP::getNVarsForBlock(), gcg::PARTIALDECOMP::isComplete(), SCALING_FACTOR_NONZEROS, SCIPvisuGetColorBlock(), SCIPvisuGetColorLinking(), SCIPvisuGetColorMasterconss(), SCIPvisuGetColorOpen(), SCIPvisuGetColorStairlinking(), SCIPvisuGetDraftmode(), SCIPvisuGetNonzeroRadius(), and writeGpNonzeros().
Referenced by GCGwriteGpVisualizationFormat().
◆ GCGwriteGpVisualizationFormat()
SCIP_RETCODE GCGwriteGpVisualizationFormat | ( | SCIP * | scip, |
char * | filename, | ||
char * | outputname, | ||
int | partialdecid, | ||
GP_OUTPUT_FORMAT | outputformat | ||
) |
- Parameters
-
scip SCIP data structure filename filename (including path) to write to outputname filename for compiled output file partialdecid id of partialdec to visualize outputformat the output format which gnuplot should emit
Definition at line 449 of file reader_gp.cpp.
References GCGconshdlrDecompGetPartialdecFromID(), gcg::PARTIALDECOMP::getDetprobdata(), writeGpHeader(), and writeGpPartialdec().
Referenced by GCGwriteGpVisualization(), and gcg::PARTIALDECOMP::writeVisualizationFile().
◆ GCGwriteGpVisualization()
SCIP_RETCODE GCGwriteGpVisualization | ( | SCIP * | scip, |
char * | filename, | ||
char * | outputname, | ||
int | partialdecid | ||
) |
Writes a visualization as .pdf file for the given partialdec
- Returns
- SCIP status
- Parameters
-
scip SCIP data structure filename filename (including path) to write to outputname filename for compiled output file partialdecid id of partialdec to visualize
Definition at line 483 of file reader_gp.cpp.
References GCGwriteGpVisualizationFormat(), and GP_OUTPUT_FORMAT_PDF.
Referenced by gcg::PARTIALDECOMP::exportVisualization(), GCGWriteGpDecompMatrix(), GCGwriteTexReport(), GCGwriteTexVisualization(), and SCIP_DECL_READERWRITE().
◆ GCGWriteGpDecompMatrix()
SCIP_RETCODE GCGWriteGpDecompMatrix | ( | SCIP * | scip, |
const char * | filename, | ||
const char * | workfolder, | ||
SCIP_Bool | originalmatrix | ||
) |
Creates a block matrix and outputs its visualization as .pdf file
- Returns
- SCIP return code
Definition at line 496 of file reader_gp.cpp.
References GCGconshdlrDecompAddMatrixPartialdec(), GCGconshdlrDecompGetPartialdecFromID(), GCGgetVisualizationFilename(), and GCGwriteGpVisualization().
Referenced by writeMatrix().
◆ SCIPincludeReaderGp()
SCIP_RETCODE SCIPincludeReaderGp | ( | SCIP * | scip | ) |
Includes the gp file reader into SCIP
- Returns
- SCIP status
- Parameters
-
scip SCIP data structure
Definition at line 527 of file reader_gp.cpp.
References READER_DESC, READER_EXTENSION, and READER_NAME.
Referenced by SCIPincludeGcgPlugins().