libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00044 #ifndef LIBDXF_SRC_RAY_H 00045 #define LIBDXF_SRC_RAY_H 00046 00047 00048 #include "global.h" 00049 #include "point.h" 00050 #include "binary_graphics_data.h" 00051 00052 00053 #ifdef __cplusplus 00054 extern "C" { 00055 #endif 00056 00057 00061 typedef struct 00062 dxf_ray_struct 00063 { 00064 /* Members common for all DXF drawable entities. */ 00065 int id_code; 00070 char *linetype; 00074 char *layer; 00078 double elevation; 00084 double thickness; 00088 double linetype_scale; 00092 int16_t visibility; 00100 int color; 00107 int paperspace; 00113 int graphics_data_size; 00122 int16_t shadow_mode; 00132 DxfBinaryGraphicsData *binary_graphics_data; 00138 char *dictionary_owner_soft; 00142 char *material; 00147 char *dictionary_owner_hard; 00151 int16_t lineweight; 00156 char *plot_style_name; 00160 long color_value; 00172 char *color_name; 00180 long transparency; 00188 /* Specific members for a DXF ray. */ 00189 DxfPoint *p0; 00192 DxfPoint *p1; 00195 struct DxfRay *next; 00198 } DxfRay; 00199 00200 00201 DxfRay *dxf_ray_new (); 00202 DxfRay *dxf_ray_init (DxfRay *ray); 00203 DxfRay *dxf_ray_read (DxfFile *fp, DxfRay *ray); 00204 int dxf_ray_write (DxfFile *fp, DxfRay *ray); 00205 int dxf_ray_free (DxfRay *ray); 00206 void dxf_ray_free_chain (DxfRay *rays); 00207 int dxf_ray_get_id_code (DxfRay *ray); 00208 DxfRay *dxf_ray_set_id_code (DxfRay *ray, int id_code); 00209 char *dxf_ray_get_linetype (DxfRay *ray); 00210 DxfRay *dxf_ray_set_linetype (DxfRay *ray, char *linetype); 00211 char *dxf_ray_get_layer (DxfRay *ray); 00212 DxfRay *dxf_ray_set_layer (DxfRay *ray, char *layer); 00213 double dxf_ray_get_elevation (DxfRay *ray); 00214 DxfRay *dxf_ray_set_elevation (DxfRay *ray, double elevation); 00215 double dxf_ray_get_thickness (DxfRay *ray); 00216 DxfRay *dxf_ray_set_thickness (DxfRay *ray, double thickness); 00217 double dxf_ray_get_linetype_scale (DxfRay *ray); 00218 DxfRay *dxf_ray_set_linetype_scale (DxfRay *ray, double linetype_scale); 00219 int16_t dxf_ray_get_visibility (DxfRay *ray); 00220 DxfRay *dxf_ray_set_visibility (DxfRay *ray, int16_t visibility); 00221 int dxf_ray_get_color (DxfRay *ray); 00222 DxfRay *dxf_ray_set_color (DxfRay *ray, int color); 00223 int dxf_ray_get_paperspace (DxfRay *ray); 00224 DxfRay *dxf_ray_set_paperspace (DxfRay *ray, int paperspace); 00225 int dxf_ray_get_graphics_data_size (DxfRay *ray); 00226 DxfRay *dxf_ray_set_graphics_data_size (DxfRay *ray, int graphics_data_size); 00227 int16_t dxf_ray_get_shadow_mode (DxfRay *ray); 00228 DxfRay *dxf_ray_set_shadow_mode (DxfRay *ray, int16_t shadow_mode); 00229 DxfBinaryGraphicsData *dxf_ray_get_binary_graphics_data (DxfRay *ray); 00230 DxfRay *dxf_ray_set_binary_graphics_data (DxfRay *ray, DxfBinaryGraphicsData *data); 00231 char *dxf_ray_get_dictionary_owner_soft (DxfRay *ray); 00232 DxfRay *dxf_ray_set_dictionary_owner_soft (DxfRay *ray, char *dictionary_owner_soft); 00233 char *dxf_ray_get_material (DxfRay *ray); 00234 DxfRay *dxf_ray_set_material (DxfRay *ray, char *material); 00235 char *dxf_ray_get_dictionary_owner_hard (DxfRay *ray); 00236 DxfRay *dxf_ray_set_dictionary_owner_hard (DxfRay *ray, char *dictionary_owner_hard); 00237 int16_t dxf_ray_get_lineweight (DxfRay *ray); 00238 DxfRay *dxf_ray_set_lineweight (DxfRay *ray, int16_t lineweight); 00239 char *dxf_ray_get_plot_style_name (DxfRay *ray); 00240 DxfRay *dxf_ray_set_plot_style_name (DxfRay *ray, char *plot_style_name); 00241 long dxf_ray_get_color_value (DxfRay *ray); 00242 DxfRay *dxf_ray_set_color_value (DxfRay *ray, long color_value); 00243 char *dxf_ray_get_color_name (DxfRay *ray); 00244 DxfRay *dxf_ray_set_color_name (DxfRay *ray, char *color_name); 00245 long dxf_ray_get_transparency (DxfRay *ray); 00246 DxfRay *dxf_ray_set_transparency (DxfRay *ray, long transparency); 00247 DxfPoint *dxf_ray_get_p0 (DxfRay *ray); 00248 DxfRay *dxf_ray_set_p0 (DxfRay *ray, DxfPoint *p0); 00249 double dxf_ray_get_x0 (DxfRay *ray); 00250 DxfRay *dxf_ray_set_x0 (DxfRay *ray, double x0); 00251 double dxf_ray_get_y0 (DxfRay *ray); 00252 DxfRay *dxf_ray_set_y0 (DxfRay *ray, double y0); 00253 double dxf_ray_get_z0 (DxfRay *ray); 00254 DxfRay *dxf_ray_set_z0 (DxfRay *ray, double z0); 00255 DxfPoint *dxf_ray_get_p1 (DxfRay *ray); 00256 DxfRay *dxf_ray_set_p1 (DxfRay *ray, DxfPoint *p1); 00257 double dxf_ray_get_x1 (DxfRay *ray); 00258 DxfRay *dxf_ray_set_x1 (DxfRay *ray, double x1); 00259 double dxf_ray_get_y1 (DxfRay *ray); 00260 DxfRay *dxf_ray_set_y1 (DxfRay *ray, double y1); 00261 double dxf_ray_get_z1 (DxfRay *ray); 00262 DxfRay *dxf_ray_set_z1 (DxfRay *ray, double z1); 00263 DxfRay *dxf_ray_get_next (DxfRay *ray); 00264 DxfRay *dxf_ray_set_next (DxfRay *ray, DxfRay *next); 00265 DxfRay *dxf_ray_get_last (DxfRay *ray); 00266 00267 00268 #ifdef __cplusplus 00269 } 00270 #endif 00271 00272 00273 #endif /* LIBDXF_SRC_RAY_H */ 00274 00275 00276 /* EOF */