Program Listing for File enve.hh

Return to documentation for file (src/enve.hh)

/*
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *                                                                     *
 * The ENVE project                                                    *
 *                                                                     *
 * Copyright (c) 2020, Davide Stocco and Enrico Bertolazzi.            *
 *                                                                     *
 * The ENVE project and its components are supplied under the terms of *
 * the open source BSD 3-Clause License. The contents of the ENVE      *
 * project and its components may not be copied or disclosed except in *
 * accordance with the terms of the BSD 3-Clause License.              *
 *                                                                     *
 * URL: https://opensource.org/licenses/BSD-3-Clause                   *
 *                                                                     *
 *    Davide Stocco                                                    *
 *    Department of Industrial Engineering                             *
 *    University of Trento                                             *
 *    e-mail: davide.stocco@unitn.it                                   *
 *                                                                     *
 *    Enrico Bertolazzi                                                *
 *    Department of Industrial Engineering                             *
 *    University of Trento                                             *
 *    e-mail: enrico.bertolazzi@unitn.it                               *
 *                                                                     *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/


#ifndef INCLUDE_ENVE_HH
#define INCLUDE_ENVE_HH

// Print enve errors
#ifndef ENVE_ERROR
#define ENVE_ERROR(MSG)                 \
  {                                     \
    std::ostringstream os;              \
    os << MSG;                          \
    throw std::runtime_error(os.str()); \
  }
#endif

// Check for enve errors
#ifndef ENVE_ASSERT
#define ENVE_ASSERT(COND, MSG) \
  if (!(COND))                 \
  ENVE_ERROR(MSG)
#endif

#include <fstream>

#include "acme.hh"

using acme::real;
using acme::integer;
using acme::out_stream;

using acme::QUIET_NAN;
using acme::EPSILON_LOW;
using acme::EPSILON_MEDIUM;
using acme::EPSILON_HIGH;

using acme::vec3;
using acme::mat3;
using acme::mat4;

using acme::point;
using acme::line;
using acme::triangle;
using acme::disk;
using acme::plane;
using acme::affine;
using acme::aabb;
using acme::AABBtree;

using acme::NAN_VEC3;
using acme::NAN_POINT;
using acme::NAN_TRIANGLE;
using acme::NAN_DISK;
using acme::NAN_AABB;

using acme::IsApprox;

#include "enve/flat.hxx"
#include "enve/mesh.hxx"
#include "enve/output.hxx"
#include "enve/rib.hxx"
#include "enve/shape.hxx"
#include "enve/shell.hxx"
#include "enve/triangleground.hxx"

#endif