Commit 5ff4bf24 authored by thomas.forbriger's avatar thomas.forbriger Committed by thomas.forbriger
Browse files

documentation

This is a legacy commit from before 2015-03-01.
It may be incomplete as well as inconsistent.
See COPYING.legacy and README.history for details.


SVN Path:     http://gpitrsvn.gpi.uni-karlsruhe.de/repos/TFSoftware/trunk
SVN Revision: 578
SVN UUID:     67feda4a-a26e-11df-9d6e-31afc202ad0c
parent aa25f3e8
# this is <Makefile>
# ----------------------------------------------------------------------------
# ($Id: Makefile,v 1.2 2001-06-13 18:34:10 forbrig Exp $)
# ($Id: Makefile,v 1.3 2002-01-14 15:40:49 forbrig Exp $)
#
# 05/06/2001 by Thomas Forbriger (IMGF Frankfurt)
#
......@@ -29,5 +29,26 @@ install: $(HEADERS)
newinclude $^
example: XpgplotCpp; XpgplotCpp
# doxygen part
# ------------
.PHONY: doxyconf doxyclean doxydoc
doxyconf: ; doxywizard doxygen.cfg
doxyview: doc/html/index.html; netscape $< &
doxydoc: doc/html/index.html
doc/latex/refman.tex doc/html/index.html: \
XpgplotCpp.cc $(HEADERS) doxygen.cfg Makefile
doxygen doxygen.cfg
doxyclean: ; -/bin/rm -rvf doc
doxyps: doc/latex/refman.ps; gv $< &
doxypdf: doc/latex/refman.pdf; acroread $< &
doc/latex/refman.ps: doc/latex/refman.tex; cd $(dir $<); make ps
doc/latex/refman.pdf: doc/latex/refman.tex; cd $(dir $<); make pdf
#
# ----- END OF Makefile -----
/* this is <XpgplotCpp.cc>
/*! \example XpgplotCpp.cc
* \brief example code for the PGPLOT C++ interface
*
* ----------------------------------------------------------------------------
*
* $Id: XpgplotCpp.cc,v 1.2 2001-06-13 18:34:10 forbrig Exp $
* $Id: XpgplotCpp.cc,v 1.3 2002-01-14 15:40:49 forbrig Exp $
*
* Copyright (c) 2001 by Thomas Forbriger (IMGF Frankfurt)
*
* eXample for pgplot C++ interface
*
* \sa XpgplotCpp.cc
*
* REVISIONS and CHANGES
* 05/06/2001 V1.0 Thomas Forbriger
* - 05/06/2001 V1.0 Thomas Forbriger
*
* ============================================================================
*/
#include<iostream>
#include<string>
#include<pgplotCpp.h>
/*! \brief example program
*
* Just a simple example to show how the pgplot classes may be used.
*
* \sa pgplot::device
*/
main()
{
cout << "XpgplotCpp" << endl;
cout << "(example program for the C++ interface for PGPLOT)" << endl;
cout << "($Id: XpgplotCpp.cc,v 1.2 2001-06-13 18:34:10 forbrig Exp $)"
cout << "($Id: XpgplotCpp.cc,v 1.3 2002-01-14 15:40:49 forbrig Exp $)"
<< endl;
pgplotCpp::device d("/xserve");
pgplot::device d("/xserve");
d.env(1.,5.,1.,10.,0,2);
pgplotCpp::device d2("/xserve");
pgplot::device d2("/xserve");
d2.env(1.,5.,1.,10.,1,2);
pgplotCpp::device::ldev();
d2.lutsch();
pgplot::basic_device::ldev();
}
/* ----- END OF XpgplotCpp.cc ----- */
# Doxygen configuration generated by Doxywizard version 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = libTFClass
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doc
OUTPUT_LANGUAGE = English
DISABLE_INDEX = NO
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = YES
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = /home/theo1/forbrig/work/src/class/ \
/home/forbrig/work/src/class
INTERNAL_DOCS = YES
CLASS_DIAGRAMS = YES
SOURCE_BROWSER = YES
INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
VERBATIM_HEADERS = YES
SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = YES
INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
TAB_SIZE = 8
ENABLED_SECTIONS =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT = "$file:$line: $text"
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./
FILE_PATTERNS = *.h \
*.cc \
README \
README.doxy
RECURSIVE = YES
EXCLUDE =
EXCLUDE_PATTERNS = docxx.h
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
IMAGE_PATH =
INPUT_FILTER =
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = YES
LATEX_OUTPUT = latex
COMPACT_LATEX = YES
PAPER_TYPE = a4wide
EXTRA_PACKAGES = pslatex
LATEX_HEADER =
PDF_HYPERLINKS = NO
LATEX_BATCHMODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = YES
MAN_OUTPUT = man
MAN_EXTENSION = .3
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
PREDEFINED =
EXPAND_AS_DEFINED =
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DOT_PATH =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
CGI_NAME = search.cgi
CGI_URL =
DOC_URL =
DOC_ABSPATH =
BIN_ABSPATH = /usr/local/bin/
EXT_DOC_PATHS =
/* this is <pgplotCpp.h>
/*! \file pgplotCpp.h
* \brief C++ interface for PGPLOT
*
* ----------------------------------------------------------------------------
*
* $Id: pgplotCpp.h,v 1.2 2001-06-13 18:34:11 forbrig Exp $
* $Id: pgplotCpp.h,v 1.3 2002-01-14 15:40:50 forbrig Exp $
*
* Copyright (c) 2001 by Thomas Forbriger (IMGF Frankfurt)
*
......@@ -11,16 +13,34 @@
* libcpgplot.a (coming together with pgplot Fortran version)
*
* REVISIONS and CHANGES
* 05/06/2001 V1.0 Thomas Forbriger
* - 05/06/2001 V1.0 Thomas Forbriger
*
* ============================================================================
*/
/** \mainpage PGPLOT C++ interface
* \author Thomas Forbriger (IMG Frankfurt)
* \date 2001-2002
*
* This provides a C++ interface to the FORTRAN PGPLOT library. It is based on
* the C-interface (cpgplot.h) coming with the library.
*
* \sa pgplot
* \sa pgplot::device
*/
#ifndef TF_PGPLOTCPP_H_
/// #$Id: newclass,v 1.2 2000/10/13 09:16:32 forbrig Exp 3
//! include guard
#define TF_PGPLOTCPP_H_ \
"$Id: pgplotCpp.h,v 1.2 2001-06-13 18:34:11 forbrig Exp $";
"$Id: pgplotCpp.h,v 1.3 2002-01-14 15:40:50 forbrig Exp $";
/*! \brief contains all pgplot stuff
*
* This namespace contains all pgplot stuff.
*
* It contains all classes and functions and it contains all definitions from
* cpgplot.h.
*/
namespace pgplot {
#include<cpgplot.h>
......@@ -28,7 +48,8 @@ namespace pgplot {
/* enum {x11, xserve, tek} screentypes;
enum {psls, ps, gif} filetypes; */
/*
/*! \brief pgplot base class
*
* basic_device is the interface to cpgplot. It allows to hide functions as
* being declared protected. They may be made public in special derived
* classes.
......@@ -37,16 +58,19 @@ enum {psls, ps, gif} filetypes; */
* - cpgbeg is not needed (we use cpgopen)
* - cpgopen is used via devopen and the constructor
* - cpgclos is used via the destructor
* - cpgend is not allowd as termination is
* - cpgend is not allowed as termination is
* always done per device instance
*/
*
* \note
* One pgplot device per class instance will be opened.
* Pass this instance by reference to subroutines.
* No copy constructor or copy operator will be provided.
*/
class basic_device {
public:
/* one pgplot device per class instance will be opened
* pass this instance by reference to subroutines
* no copy constructor or copy operator will be provided
*/
//! constructor opens PGPLOT device
basic_device(const char* devName) { this->devopen(devName); }
//! destructor closes PGPLOT device
~basic_device() { this->select(); cpgclos(); }
/*
......@@ -54,8 +78,10 @@ class basic_device {
*/
/* void arro(float x1, float y1, float x2, float y2)
{ this->select(); } */
//! ask before clearing page? (Logical version)
void ask(const Logical& flag)
{ this->select(); cpgask(flag); }
//! ask before clearing page? (bool version)
void ask(const bool& flag)
{ this->select(); cpgask(flag); }
/* void axis(const char *opt, float x1, float y1, float x2, float y2, float
......@@ -94,6 +120,7 @@ class basic_device {
{ this->select(); }
void ebuf(void)
{ this->select(); } */
//! define PGPLOT window and axis
void env(const float &xmin, const float &xmax, const float &ymin, const
float &ymax, const int &just, const int &axis)
{ this->select(); cpgenv(xmin, xmax, ymin, ymax, just, axis); }
......@@ -284,14 +311,18 @@ class basic_device {
/*
* This is a class specific member function
*/
//! tell about available devices
static void ldev(void)
{ cpgldev(); }
protected:
/*
/*! \name coursor routines
*
* Here we go with cpgplot functions that are only valid together
* with special devices. They are dclared protected and may be made public
* by a derived class.
* by a derived class. They are protected in the base class since not all
* devices are interactive.
*/
//@{
int band(int mode, int posn, float xref, float yref, float *x, float *y,
char *ch_scalar)
{ this->select(); cpgband(mode, posn, xref, yref, x, y, ch_scalar); }
......@@ -303,15 +334,31 @@ class basic_device {
{ this->select(); cpgncur(maxpt, npt, x, y, symbol); }
void olin(int maxpt, int *npt, float *x, float *y, int symbol)
{ this->select(); cpgolin(maxpt, npt, x, y, symbol); }
//@}
private:
void select() { cpgslct(MdevID); }
void devopen(const char *devname) { MdevID=cpgopen(devname); }
int MdevID;
};
/*! \brief the standard device class
*
* This class includes the full pgplot functionality and does not
* care about interactive or not. It derives directly from \c basic_device
* and exports the cursor functions.
*
* \sa basic_device
* \sa XpgplotCpp.cc
*/
class device: public basic_device {
public:
//! create a new device
device(const char* devName): basic_device(devName) { }
/*! \name coursor routines
*
* Reimplementation of cursor functions to make them public.
*/
//@{
int band(int mode, int posn, float xref, float yref, float *x, float *y,
char *ch_scalar)
{ basic_device::band(mode, posn, xref, yref, x, y, ch_scalar); }
......@@ -323,6 +370,7 @@ class device: public basic_device {
{ basic_device::ncur(maxpt, npt, x, y, symbol); }
void olin(int maxpt, int *npt, float *x, float *y, int symbol)
{ basic_device::olin(maxpt, npt, x, y, symbol); }
//@}
};
}
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: spcpgplotCpp.h,v 1.1 2001-06-13 18:34:11 forbrig Exp $
* $Id: spcpgplotCpp.h,v 1.2 2002-01-14 15:40:50 forbrig Exp $
* \author Thomas Forbriger
* \date 13/06/2001
*
......@@ -16,9 +16,9 @@
*/
#ifndef TF_SPCPGPLOTCPP_H
/// $Id: spcpgplotCpp.h,v 1.1 2001-06-13 18:34:11 forbrig Exp $
//! include guard
#define TF_SPCPGPLOTCPP_H \
"$Id: spcpgplotCpp.h,v 1.1 2001-06-13 18:34:11 forbrig Exp $";
"$Id: spcpgplotCpp.h,v 1.2 2002-01-14 15:40:50 forbrig Exp $";
#include<pgplotCpp.h>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment