libDXF 0.0.1
A library with DXF related functions written in C.

spatial_filter.h

Go to the documentation of this file.
00001 
00043 #ifndef LIBDXF_SRC_SPATIAL_FILTER_H
00044 #define LIBDXF_SRC_SPATIAL_FILTER_H
00045 
00046 
00047 #include "global.h"
00048 #include "point.h"
00049 
00050 
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054 
00055 
00059 typedef struct
00060 dxf_spatial_filter_struct
00061 {
00062         /* Members common for all DXF objects. */
00063         int id_code;
00068         char *dictionary_owner_soft;
00071         char *dictionary_owner_hard;
00074         /* Specific members for a DXF spatial_filter. */
00075         DxfPoint *p0;
00079         double x0[DXF_MAX_PARAM];
00083         double y0[DXF_MAX_PARAM];
00087         DxfPoint *p1;
00091         double x1;
00095         double y1;
00099         double z1;
00103         double inverse_block_transformation[12];
00113         double block_transformation[12];
00118         double front_clipping_plane_distance;
00121         double back_clipping_plane_distance;
00124         int number_of_points;
00130         int clip_boundary_display_flag;
00137         int front_clipping_plane_flag;
00144         int back_clipping_plane_flag;
00151         double extr_x0;
00155         double extr_y0;
00159         double extr_z0;
00163         struct DxfSpatialFilter *next;
00166 } DxfSpatialFilter;
00167 
00168 
00169 DxfSpatialFilter *dxf_spatial_filter_new ();
00170 DxfSpatialFilter *dxf_spatial_filter_init (DxfSpatialFilter *spatial_filter);
00171 DxfSpatialFilter *dxf_spatial_filter_read (DxfFile *fp, DxfSpatialFilter *spatial_filter);
00172 int dxf_spatial_filter_write (DxfFile *fp, DxfSpatialFilter *spatial_filter);
00173 int dxf_spatial_filter_free (DxfSpatialFilter *spatial_filter);
00174 void dxf_spatial_filter_free_chain (DxfSpatialFilter *spatial_filters);
00175 int dxf_spatial_filter_get_id_code (DxfSpatialFilter *spatial_filter);
00176 DxfSpatialFilter *dxf_spatial_filter_set_id_code (DxfSpatialFilter *spatial_filter, int id_code);
00177 char *dxf_spatial_filter_get_dictionary_owner_soft (DxfSpatialFilter *spatial_filter);
00178 DxfSpatialFilter *dxf_spatial_filter_set_dictionary_owner_soft (DxfSpatialFilter *spatial_filter, char *dictionary_owner_soft);
00179 char *dxf_spatial_filter_get_dictionary_owner_hard (DxfSpatialFilter *spatial_filter);
00180 DxfSpatialFilter *dxf_spatial_filter_set_dictionary_owner_hard (DxfSpatialFilter *spatial_filter, char *dictionary_owner_hard);
00181 DxfPoint *dxf_spatial_filter_get_p0 (DxfSpatialFilter *spatial_filter);
00182 DxfSpatialFilter *dxf_spatial_filter_set_p0 (DxfSpatialFilter *spatial_filter, DxfPoint *p0);
00183 double dxf_spatial_filter_get_x0 (DxfSpatialFilter *spatial_filter);
00184 DxfSpatialFilter *dxf_spatial_filter_set_x0 (DxfSpatialFilter *spatial_filter, double x0);
00185 double dxf_spatial_filter_get_y0 (DxfSpatialFilter *spatial_filter);
00186 DxfSpatialFilter *dxf_spatial_filter_set_y0 (DxfSpatialFilter *spatial_filter, double y0);
00187 DxfPoint *dxf_spatial_filter_get_p0_next (DxfPoint *p0);
00188 DxfPoint *dxf_spatial_filter_set_p0_next (DxfPoint *p0, DxfPoint *next);
00189 DxfPoint *dxf_spatial_filter_get_p1 (DxfSpatialFilter *spatial_filter);
00190 DxfSpatialFilter *dxf_spatial_filter_set_p1 (DxfSpatialFilter *spatial_filter, DxfPoint *p1);
00191 double dxf_spatial_filter_get_x1 (DxfSpatialFilter *spatial_filter);
00192 DxfSpatialFilter *dxf_spatial_filter_set_x1 (DxfSpatialFilter *spatial_filter, double x1);
00193 double dxf_spatial_filter_get_y1 (DxfSpatialFilter *spatial_filter);
00194 DxfSpatialFilter *dxf_spatial_filter_set_y1 (DxfSpatialFilter *spatial_filter, double y1);
00195 double dxf_spatial_filter_get_z1 (DxfSpatialFilter *spatial_filter);
00196 DxfSpatialFilter *dxf_spatial_filter_set_z1 (DxfSpatialFilter *spatial_filter, double z1);
00197 double dxf_spatial_filter_get_front_clipping_plane_distance (DxfSpatialFilter *spatial_filter);
00198 DxfSpatialFilter *dxf_spatial_filter_set_front_clipping_plane_distance (DxfSpatialFilter *spatial_filter, double front_clipping_plane_distance);
00199 double dxf_spatial_filter_get_back_clipping_plane_distance (DxfSpatialFilter *spatial_filter);
00200 DxfSpatialFilter *dxf_spatial_filter_set_back_clipping_plane_distance (DxfSpatialFilter *spatial_filter, double back_clipping_plane_distance);
00201 int dxf_spatial_filter_get_number_of_points (DxfSpatialFilter *spatial_filter);
00202 DxfSpatialFilter *dxf_spatial_filter_set_number_of_points (DxfSpatialFilter *spatial_filter, int number_of_points);
00203 int dxf_spatial_filter_get_clip_boundary_display_flag (DxfSpatialFilter *spatial_filter);
00204 DxfSpatialFilter *dxf_spatial_filter_set_clip_boundary_display_flag (DxfSpatialFilter *spatial_filter, int clip_boundary_display_flag);
00205 int dxf_spatial_filter_get_front_clipping_plane_flag (DxfSpatialFilter *spatial_filter);
00206 DxfSpatialFilter *dxf_spatial_filter_set_front_clipping_plane_flag (DxfSpatialFilter *spatial_filter, int front_clipping_plane_flag);
00207 int dxf_spatial_filter_get_back_clipping_plane_flag (DxfSpatialFilter *spatial_filter);
00208 DxfSpatialFilter *dxf_spatial_filter_set_back_clipping_plane_flag (DxfSpatialFilter *spatial_filter, int back_clipping_plane_flag);
00209 DxfPoint *dxf_spatial_filter_get_extrusion_vector_as_point (DxfSpatialFilter *spatial_filter);
00210 double dxf_spatial_filter_get_extr_x0 (DxfSpatialFilter *spatial_filter);
00211 DxfSpatialFilter *dxf_spatial_filter_set_extr_x0 (DxfSpatialFilter *spatial_filter, double extr_x0);
00212 double dxf_spatial_filter_get_extr_y0 (DxfSpatialFilter *spatial_filter);
00213 DxfSpatialFilter *dxf_spatial_filter_set_extr_y0 (DxfSpatialFilter *spatial_filter, double extr_y0);
00214 double dxf_spatial_filter_get_extr_z0 (DxfSpatialFilter *spatial_filter);
00215 DxfSpatialFilter *dxf_spatial_filter_set_extr_z0 (DxfSpatialFilter *spatial_filter, double extr_z0);
00216 DxfSpatialFilter *dxf_spatial_filter_get_next (DxfSpatialFilter *spatial_filter);
00217 DxfSpatialFilter *dxf_spatial_filter_set_next (DxfSpatialFilter *spatial_filter, DxfSpatialFilter *next);
00218 DxfSpatialFilter *dxf_spatial_filter_get_last (DxfSpatialFilter *spatial_filter);
00219 
00220 
00221 #ifdef __cplusplus
00222 }
00223 #endif
00224 
00225 
00226 #endif /* LIBDXF_SRC_SPATIAL_FILTER_H */
00227 
00228 
00229 /* EOF */