1998-09-21 23:16:23 +00:00
|
|
|
// splittris.hxx -- read in a .ele/.node file pair generated by the triangle
|
|
|
|
// program and output edge vertices w/ normals.
|
|
|
|
//
|
|
|
|
// Written by Curtis Olson, started January 1998.
|
|
|
|
//
|
|
|
|
// Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
|
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
//
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
|
|
// along with this program; if not, write to the Free Software
|
|
|
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
//
|
|
|
|
// $Id$
|
|
|
|
// (Log is kept at end of this file)
|
|
|
|
|
1998-01-14 02:11:30 +00:00
|
|
|
|
|
|
|
|
1998-07-08 14:59:13 +00:00
|
|
|
#ifndef SPLITTRIS_HXX
|
|
|
|
#define SPLITTRIS_HXX
|
1998-01-14 02:11:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <string.h>
|
1998-09-22 23:49:56 +00:00
|
|
|
#include <string>
|
1998-01-14 02:11:30 +00:00
|
|
|
|
1998-09-22 23:49:56 +00:00
|
|
|
#include <vector>
|
|
|
|
#include "Include/fg_stl_config.h"
|
1998-01-14 02:11:30 +00:00
|
|
|
|
1998-09-22 23:49:56 +00:00
|
|
|
#ifdef NEEDNAMESPACESTD
|
|
|
|
using namespace std;
|
|
|
|
#endif
|
1998-01-14 02:11:30 +00:00
|
|
|
|
1998-10-18 01:17:09 +00:00
|
|
|
#include <Math/point3d.hxx>
|
1998-01-14 02:11:30 +00:00
|
|
|
|
1998-09-22 23:49:56 +00:00
|
|
|
|
|
|
|
// A triangle (indices of the three nodes)
|
|
|
|
typedef struct {
|
|
|
|
int n1, n2, n3;
|
|
|
|
} triangle;
|
|
|
|
|
|
|
|
|
1998-10-18 01:17:09 +00:00
|
|
|
typedef vector < Point3D > container_3d;
|
1998-09-22 23:49:56 +00:00
|
|
|
typedef container_3d::iterator iterator_3d;
|
|
|
|
typedef container_3d::const_iterator const_iterator_3d;
|
|
|
|
|
|
|
|
typedef vector < triangle > container_tri;
|
|
|
|
typedef container_tri::iterator iterator_tri;
|
|
|
|
typedef container_tri::const_iterator const_iterator_tri;
|
1998-01-14 02:11:30 +00:00
|
|
|
|
|
|
|
|
1998-09-21 23:16:23 +00:00
|
|
|
// Initialize a new mesh structure
|
1998-09-22 23:49:56 +00:00
|
|
|
void triload(const string& basename);
|
1998-01-14 02:11:30 +00:00
|
|
|
|
|
|
|
|
1998-09-21 23:16:23 +00:00
|
|
|
#endif // SPLITTRIS_HXX
|
|
|
|
|
1998-01-14 02:11:30 +00:00
|
|
|
|
1998-09-21 23:16:23 +00:00
|
|
|
// $Log$
|
1998-10-18 01:17:09 +00:00
|
|
|
// Revision 1.4 1998/10/18 01:17:28 curt
|
|
|
|
// Point3D tweaks.
|
|
|
|
//
|
1998-09-22 23:49:56 +00:00
|
|
|
// Revision 1.3 1998/09/22 23:49:58 curt
|
|
|
|
// C++-ified, STL-ified, and string-ified.
|
|
|
|
//
|
1998-09-21 23:16:23 +00:00
|
|
|
// Revision 1.2 1998/09/21 23:16:24 curt
|
|
|
|
// Converted to c++ style comments.
|
|
|
|
//
|
|
|
|
// Revision 1.1 1998/07/08 14:59:14 curt
|
|
|
|
// *.[ch] renamed to *.[ch]xx
|
|
|
|
//
|
|
|
|
// Revision 1.3 1998/03/03 15:36:13 curt
|
|
|
|
// Tweaks for compiling with g++
|
|
|
|
//
|
|
|
|
// Revision 1.2 1998/01/15 02:49:25 curt
|
|
|
|
// Misc. housekeeping.
|
|
|
|
//
|
|
|
|
// Revision 1.1 1998/01/14 02:11:32 curt
|
|
|
|
// Initial revision.
|
|
|
|
//
|
1998-01-14 02:11:30 +00:00
|
|
|
|