#include #include #include //#include #include //#include #include #include using namespace simplif; inline int streq(const char *a,const char *b) { return strcmp(a,b)==0; } float simplif::SMF_version = 1.0; char *simplif::SMF_version_string = "1.0"; char *SMF_source_revision = "$Id: smf.cxx,v 1.1 1997/06/16 22:11:40 garland Exp $"; int SMF_Model::in_Face(const buffer&) { fatal_error("SMF: Arbitrary face definitions not supported."); return False; } int SMF_Model::in_Unparsed(const char *, string_buffer&) { return False; } int SMF_Model::note_Vertices(int) { return True; } int SMF_Model::note_Faces(int) { return True; } int SMF_Model::note_BBox(const Vec3&, const Vec3&) { return True; } int SMF_Model::note_BSphere(const Vec3&, real) { return True; } int SMF_Model::note_PXform(const Mat4&) { return True; } int SMF_Model::note_MXform(const Mat4&) { return True; } int SMF_Model::note_Unparsed(const char *,string_buffer&) { return True; } static Mat4 mat_from_args(string_buffer& argv) { Mat4 M; int n=0, i, j; for(i=0; i<4; i++) for(j=0; j<4; j++) M(i,j) = atof(argv(n++)); return M; } static void bad_annotation(char *cmd) { std::cerr << "SMF: Malformed annotation ["<< cmd << "]" << std::endl; }