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

point.h

Go to the documentation of this file.
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 */