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

ray.h

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