profile.h
00001 /*
00002  * 3D Shape Analysis Library.
00003  * Copyright (C) 2008 AQSENSE, S.L.
00004  */
00005 #if !defined (AQSENSE_SAL3D_PROFILE_H)
00006 #define AQSENSE_SAL3D_PROFILE_H
00007 
00008 #if defined (_MSC_VER) && (_MSC_VER >= 1020)
00009 #pragma once
00010 #endif /* _MSC_VER && _MSC_VER >= 1020 */
00011 
00012 #include "sal3d_def.h"
00013 
00014 /*
00015  * Type definition.
00016  * --------------------------------
00017  */
00018 
00019 /* A profile. */
00020 typedef struct sal3d_profile
00021 {
00022     void *p;
00023 } sal3d_profile;
00024 
00025 /* As rangemap.h needs the profile type defined, we include the rangemap type
00026  * only after defining the profile type. */
00027 #include "rangemap.h"
00028 
00037 SAL3D_API(int) sal3d_profile_get_length (const sal3d_profile profile,
00038         sal3d_error *e DEFZERO);
00039 
00050 SAL3D_API(int) sal3d_profile_get_value (const sal3d_profile profile,
00051         int index, float *value, sal3d_error *e DEFZERO);
00052 
00063 SAL3D_API(int) sal3d_profile_get_values (const sal3d_profile profile,
00064         float **values, sal3d_error *e DEFZERO);
00065 
00074 SAL3D_API(int) sal3d_profile_check_validity (const sal3d_profile profile,
00075         sal3d_error *e DEFZERO);
00076 
00086 SAL3D_API(int) sal3d_profile_new_from_memory (float *start, int length,
00087         sal3d_profile *profile, sal3d_error *e DEFZERO);
00088 
00096 SAL3D_API(int) sal3d_profile_refcount (sal3d_profile profile, sal3d_error *e
00097         DEFZERO);
00098 
00111 SAL3D_API(int) sal3d_profile_release (sal3d_profile profile,
00112         sal3d_error *e DEFZERO);
00113 
00124 SAL3D_API(int) sal3d_profile_set_value (sal3d_profile profile,
00125         int index, float value, sal3d_error *e DEFZERO);
00126 
00134 SAL3D_API(int) sal3d_profile_share (sal3d_profile profile, sal3d_error *e
00135         DEFZERO);
00136 
00137 #endif /* !AQSENSE_SAL3D_PROFILE_H */
00138