libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00037 #ifndef LIBDXF_SRC_POINT_H 00038 #define LIBDXF_SRC_POINT_H 00039 00040 00041 #include "global.h" 00042 #include "binary_graphics_data.h" 00043 00044 00045 #ifdef __cplusplus 00046 extern "C" { 00047 #endif 00048 00049 00071 typedef struct 00072 dxf_point_struct 00073 { 00074 /* Members common for all DXF drawable entities. */ 00075 int id_code; 00080 char *linetype; 00084 char *layer; 00088 double elevation; 00093 double thickness; 00097 double linetype_scale; 00100 int16_t visibility; 00103 int color; 00110 int paperspace; 00115 int graphics_data_size; 00120 int16_t shadow_mode; 00129 DxfBinaryGraphicsData *binary_graphics_data; 00134 char *dictionary_owner_soft; 00137 char *material; 00141 char *dictionary_owner_hard; 00144 int16_t lineweight; 00148 char *plot_style_name; 00151 long color_value; 00162 char *color_name; 00169 long transparency; 00176 /* Specific members for a DXF point. */ 00177 double x0; 00179 double y0; 00181 double z0; 00183 double angle_to_X; 00188 double extr_x0; 00192 double extr_y0; 00196 double extr_z0; 00200 struct DxfPoint *next; 00203 } DxfPoint; 00204 00205 00206 DxfPoint *dxf_point_new (); 00207 DxfPoint *dxf_point_init (DxfPoint *point); 00208 DxfPoint *dxf_point_read (DxfFile *fp, DxfPoint *point); 00209 int dxf_point_write (DxfFile *fp, DxfPoint *point); 00210 int dxf_point_free (DxfPoint *point); 00211 void dxf_point_free_chain (DxfPoint *points); 00212 int dxf_point_get_id_code (DxfPoint *point); 00213 DxfPoint *dxf_point_set_id_code (DxfPoint *point, int id_code); 00214 char *dxf_point_get_linetype (DxfPoint *point); 00215 DxfPoint *dxf_point_set_linetype (DxfPoint *point, char *linetype); 00216 char *dxf_point_get_layer (DxfPoint *point); 00217 DxfPoint *dxf_point_set_layer (DxfPoint *point, char *layer); 00218 double dxf_point_get_elevation (DxfPoint *point); 00219 DxfPoint *dxf_point_set_elevation (DxfPoint *point, double elevation); 00220 double dxf_point_get_thickness (DxfPoint *point); 00221 DxfPoint *dxf_point_set_thickness (DxfPoint *point, double thickness); 00222 double dxf_point_get_linetype_scale (DxfPoint *point); 00223 DxfPoint *dxf_point_set_linetype_scale (DxfPoint *point, double linetype_scale); 00224 int16_t dxf_point_get_visibility (DxfPoint *point); 00225 DxfPoint *dxf_point_set_visibility (DxfPoint *point, int16_t visibility); 00226 int dxf_point_get_color (DxfPoint *point); 00227 DxfPoint *dxf_point_set_color (DxfPoint *point, int color); 00228 int dxf_point_get_paperspace (DxfPoint *point); 00229 DxfPoint *dxf_point_set_paperspace (DxfPoint *point, int paperspace); 00230 int dxf_point_get_graphics_data_size (DxfPoint *point); 00231 DxfPoint *dxf_point_set_graphics_data_size (DxfPoint *point, int graphics_data_size); 00232 int16_t dxf_point_get_shadow_mode (DxfPoint *point); 00233 DxfPoint *dxf_point_set_shadow_mode (DxfPoint *point, int16_t shadow_mode); 00234 DxfBinaryGraphicsData *dxf_point_get_binary_graphics_data (DxfPoint *point); 00235 DxfPoint *dxf_point_set_binary_graphics_data (DxfPoint *point, DxfBinaryGraphicsData *data); 00236 char *dxf_point_get_dictionary_owner_soft (DxfPoint *point); 00237 DxfPoint *dxf_point_set_dictionary_owner_soft (DxfPoint *point, char *dictionary_owner_soft); 00238 char *dxf_point_get_material (DxfPoint *point); 00239 DxfPoint *dxf_point_set_material (DxfPoint *point, char *material); 00240 char *dxf_point_get_dictionary_owner_hard (DxfPoint *point); 00241 DxfPoint *dxf_point_set_dictionary_owner_hard (DxfPoint *point, char *dictionary_owner_hard); 00242 int16_t dxf_point_get_lineweight (DxfPoint *point); 00243 DxfPoint *dxf_point_set_lineweight (DxfPoint *point, int16_t lineweight); 00244 char *dxf_point_get_plot_style_name (DxfPoint *point); 00245 DxfPoint *dxf_point_set_plot_style_name (DxfPoint *point, char *plot_style_name); 00246 long dxf_point_get_color_value (DxfPoint *point); 00247 DxfPoint *dxf_point_set_color_value (DxfPoint *point, long color_value); 00248 char *dxf_point_get_color_name (DxfPoint *point); 00249 DxfPoint *dxf_point_set_color_name (DxfPoint *point, char *color_name); 00250 long dxf_point_get_transparency (DxfPoint *point); 00251 DxfPoint *dxf_point_set_transparency (DxfPoint *point, long transparency); 00252 double dxf_point_get_x0 (DxfPoint *point); 00253 DxfPoint *dxf_point_set_x0 (DxfPoint *point, double x0); 00254 double dxf_point_get_y0 (DxfPoint *point); 00255 DxfPoint *dxf_point_set_y0 (DxfPoint *point, double y0); 00256 double dxf_point_get_z0 (DxfPoint *point); 00257 DxfPoint *dxf_point_set_z0 (DxfPoint *point, double z0); 00258 double dxf_point_get_angle_to_X (DxfPoint *point); 00259 DxfPoint *dxf_point_set_angle_to_X (DxfPoint *point, double angle_to_X); 00260 DxfPoint *dxf_point_get_extrusion_vector_as_point (DxfPoint *point); 00261 DxfPoint *dxf_point_set_extrusion_vector (DxfPoint *point, double extr_x0, double extr_y0, double extr_z0); 00262 DxfPoint *dxf_point_get_next (DxfPoint *point); 00263 DxfPoint *dxf_point_set_next (DxfPoint *point, DxfPoint *next); 00264 DxfPoint *dxf_point_get_last (DxfPoint *point); 00265 00266 00267 #ifdef __cplusplus 00268 } 00269 #endif 00270 00271 00272 #endif /* LIBDXF_SRC_POINT_H */ 00273 00274 00275 /* EOF */