pov-out.h revision 8eedd32fec442b11bd26c213c06c2e780209a825
/*
* A simple utility for exporting Inkscape svg Shapes as PovRay bezier
* prisms. Note that this is output-only, and would thus seem to be
* better placed as an 'export' rather than 'output'. However, Export
* handles all or partial documents, while this outputs ALL shapes in
* the current SVG document.
*
* Authors:
* Bob Jamison <rjamison@titan.com>
*
* Copyright (C) 2004 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#ifndef EXTENSION_INTERNAL_POV_OUT_H
#define EXTENSION_INTERNAL_POV_OUT_H
#include <glib.h>
#include "extension/implementation/implementation.h"
{
{
{
/**
* Output bezier splines in POVRay format.
*
* For information, @see:
*/
{
/**
* Our internal String definition
*/
/**
* Check whether we can actually output using this module
*/
/**
* API call to perform the output to a file
*/
/**
* Inkscape runtime startup call.
*/
static void init(void);
/**
* Reset variables to initial state
*/
void reset();
/**
* Format text to our output buffer
*/
/**
* Output a 2d vector
*/
void vec2(double a, double b);
/**
* Output a 3d vector
*/
void vec3(double a, double b, double c);
/**
* Output a 4d vector
*/
void vec4(double a, double b, double c, double d);
/**
* Output an rgbf color vector
*/
void rgbf(double r, double g, double b, double f);
/**
* Output one bezier's start, start-control,
* end-control, and end nodes
*/
/**
* Output the file header
*/
void doHeader();
/**
* Output the file footer
*/
void doTail();
/**
* Output the SVG document's curve data as POV curves
*/
/**
* Actual method to save document
*/
/**
* used for saving information about shapes
*/
{
{}
{}
{
}
};
//A list for saving information about the shapes
//For formatted output
//For statistics
int nrNodes;
int nrSegments;
int nrShapes;
};
} // namespace Internal
} // namespace Extension
} // namespace Inkscape
#endif /* EXTENSION_INTERNAL_POV_OUT_H */