cae-tools/solidify/project.h

51 lines
1.4 KiB
C

/*
* project.h - Load and save solidify project descriptions
*
* Written 2010 by Werner Almesberger
* Copyright 2010 by Werner Almesberger
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
/*
* Project file structure:
*
* Zero or more comment lines beginning with a hash sign (#)
* line 1: file name of top face (required)
* line 2: file name of bottom face (required)
* line 3 and beyond, separated by whitespace:
* - z distance between faces, in mm
* - z distance of the z0 plane from the midpoint of the top face, in mm
* - inclination of the x axis of the z0 plane of the top face, in degrees
* - inclination of the y axis of the z0 plane of the top face, in degrees
* - rotation of the top face, in degrees
* - x shift of the top face, in mm
* - y shift of the top face, in mm
* - the above 6 fields for the bottom face
*/
#ifndef PROJECT_H
#define PROJECT_H
#include "solid.h"
struct project {
const char *name;
const char *comment;
const char *top;
const char *bottom;
struct solid s;
};
struct project *new_project(const char *name,
const char *top, const char *bottom, double dist_mm);
struct project *load_project(const char *name);
void save_project(const struct project *prj);
#endif /* !PROJECT_H */