/* This file is part of the Neper software package. */
/* Copyright (C) 2003-2014, Romain Quey. */
/* See the COPYING file in the top-level directory. */

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<gsl/gsl_rng.h>

#include"ut.h"
#include"neut_t.h"

#include"../structIn_t.h"
#include"net_tess1d/net_tess1d.h"
#include"net_tess2d/net_tess2d.h"
#include"net_tess3d/net_tess3d.h"
#include"net_tess_cube/net_tess_cube.h"
#include"net_utils/net_utils.h"

#include"net_tess.h"

extern int net_tess_standard (int dim, struct TESS PTess, int cell, struct
    SEEDSET SeedSet, int TessId, struct TESS *pTess);

extern int net_tess_centroid (int dim, struct IN In, struct TESS PTess, int cell,
    struct SEEDSET *pSeedSet, int TessId, struct TESS *pTess);

extern int net_tess_centroid_coo (struct TESS Tess, double **coo);
extern int net_tess_centroid_test (int dim, struct TESS Tess, double** coo,
				   double centroidconv, double *prdistmax);
extern int net_tess_centroid_seedupdate (struct TESS Tess, double** coo,
                          double centroidfact, struct SEEDSET
			  *pSeedSet);

extern int net_tess_set_domain (struct TESS PTess, int poly, int TessId,
				struct MTESS *pMTess, struct TESS *pTess);

extern void net_tess_lam_seedset (struct SEEDSET *pSeedSet,
				  struct POLY *Poly);

extern int net_tess_finalize (struct TESS *pTess);

extern int net_tess_cells (struct SEEDSET GSet, struct TESS *pTess);
