Program Listing for File interpolator.h
↰ Return to documentation for file (src/pcms/capi/interpolator.h)
#ifndef PCMS_INTERPOLATOR_CAPI_H
#define PCMS_INTERPOLATOR_CAPI_H
#include <stdint.h>
#include "mesh.h"
#ifdef __cplusplus
extern "C" {
#endif
struct PcmsInterpolatorHandle
{
void* pointer;
};
typedef struct PcmsInterpolatorHandle PcmsInterpolatorHandle;
PcmsInterpolatorHandle pcms_create_interpolator(PcmsOmegaHMeshHandle oh_mesh,
double radius);
PcmsInterpolatorHandle pcms_create_point_based_interpolator(
void* source_points, int source_points_size, void* target_points,
int target_points_size, double radius, int degree, int min_req_supports,
double lambda, double decay_factor);
PcmsInterpolatorHandle pcms_create_degas2xgcnode_interpolator(
void* target_points, int target_points_size, const char* dg2_mesh_filename,
double radius, void* dg2_elem_count, int degree, int min_req_supports,
double lambda, double decay_factor);
PcmsInterpolatorHandle pcms_create_xgcnodedegas2_interpolator(
const char* dg2_mesh_filename, void* source_points, int source_points_size,
double radius, void* dg2_elem_count, int degree, int min_req_supports,
double lambda, double decay_factor);
void pcms_destroy_interpolator(PcmsInterpolatorHandle interpolator);
void pcms_interpolate(PcmsInterpolatorHandle interpolator, void* input,
int input_size, void* output, int output_size);
#ifdef __cplusplus
}
#endif
#endif // PCMS_INTERPOLATOR_CAPI_H