libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00042 #ifndef LIBDXF_SRC_LTYPE_H 00043 #define LIBDXF_SRC_LTYPE_H 00044 00045 00046 #include "global.h" 00047 00048 00049 #ifdef __cplusplus 00050 extern "C" { 00051 #endif 00052 00053 00057 typedef struct 00058 dxf_ltype_struct 00059 { 00060 int id_code; 00064 char *linetype_name; 00067 char *description; 00070 char *complex_text_string[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00073 double total_pattern_length; 00076 double complex_x_offset[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00080 double complex_y_offset[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00084 double complex_scale[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00088 double dash_length[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00091 double complex_rotation[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00098 int flag; 00114 int alignment; 00118 int number_of_linetype_elements; 00121 int complex_element[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00133 int complex_shape_number[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00140 char *dictionary_owner_soft; 00143 char *complex_style_pointer[DXF_MAX_NUMBER_OF_DASH_LENGTH_ITEMS]; 00147 char *dictionary_owner_hard; 00150 struct DxfLType *next; 00153 } DxfLType; 00154 00155 00156 DxfLType *dxf_ltype_new (); 00157 DxfLType *dxf_ltype_init (DxfLType *ltype); 00158 DxfLType *dxf_ltype_read (DxfFile *fp, DxfLType *ltype); 00159 int dxf_ltype_write (DxfFile *fp, DxfLType *ltype); 00160 int dxf_ltype_free (DxfLType *ltype); 00161 void dxf_ltype_free_chain (DxfLType *ltypes); 00162 int dxf_ltype_get_id_code (DxfLType *ltype); 00163 DxfLType *dxf_ltype_set_id_code (DxfLType *ltype, int id_code); 00164 char *dxf_ltype_get_linetype_name (DxfLType *ltype); 00165 DxfLType *dxf_ltype_set_linetype_name (DxfLType *ltype, char *linetype_name); 00166 char *dxf_ltype_get_description (DxfLType *ltype); 00167 DxfLType *dxf_ltype_set_description (DxfLType *ltype, char *description); 00168 char *dxf_ltype_get_complex_text_string (DxfLType *ltype, int i); 00169 DxfLType *dxf_ltype_set_complex_text_string (DxfLType *ltype, int i, char *complex_text_string); 00170 double dxf_ltype_get_total_pattern_length (DxfLType *ltype); 00171 DxfLType *dxf_ltype_set_total_pattern_length (DxfLType *ltype, double total_pattern_length); 00172 double dxf_ltype_get_complex_x_offset (DxfLType *ltype, int i); 00173 DxfLType *dxf_ltype_set_complex_x_offset (DxfLType *ltype, int i, double complex_x_offset); 00174 double dxf_ltype_get_complex_y_offset (DxfLType *ltype, int i); 00175 DxfLType *dxf_ltype_set_complex_y_offset (DxfLType *ltype, int i, double complex_y_offset); 00176 double dxf_ltype_get_complex_scale (DxfLType *ltype, int i); 00177 DxfLType *dxf_ltype_set_complex_scale (DxfLType *ltype, int i, double complex_scale); 00178 double dxf_ltype_get_dash_length (DxfLType *ltype, int i); 00179 DxfLType *dxf_ltype_set_dash_length (DxfLType *ltype, int i, double dash_length); 00180 double dxf_ltype_get_complex_rotation (DxfLType *ltype, int i); 00181 DxfLType *dxf_ltype_set_complex_rotation (DxfLType *ltype, int i, double complex_rotation); 00182 int dxf_ltype_get_flag (DxfLType *ltype); 00183 DxfLType *dxf_ltype_set_flag (DxfLType *ltype, int flag); 00184 int dxf_ltype_is_xreferenced (DxfLType *ltype); 00185 int dxf_ltype_is_xresolved (DxfLType *ltype); 00186 int dxf_ltype_is_referenced (DxfLType *ltype); 00187 int dxf_ltype_get_alignment (DxfLType *ltype); 00188 DxfLType *dxf_ltype_set_alignment (DxfLType *ltype, int alignment); 00189 int dxf_ltype_get_number_of_linetype_elements (DxfLType *ltype); 00190 DxfLType *dxf_ltype_set_number_of_linetype_elements (DxfLType *ltype, int number_of_linetype_elements); 00191 int dxf_ltype_get_complex_element (DxfLType *ltype, int i); 00192 DxfLType *dxf_ltype_set_complex_element (DxfLType *ltype, int i, int complex_element); 00193 int dxf_ltype_get_complex_shape_number (DxfLType *ltype, int i); 00194 DxfLType *dxf_ltype_set_complex_shape_number (DxfLType *ltype, int i, int complex_shape_number); 00195 char *dxf_ltype_get_dictionary_owner_soft (DxfLType *ltype); 00196 DxfLType *dxf_ltype_set_dictionary_owner_soft (DxfLType *ltype, char *dictionary_owner_soft); 00197 char *dxf_ltype_get_complex_style_pointer (DxfLType *ltype, int i); 00198 DxfLType *dxf_ltype_set_complex_style_pointer (DxfLType *ltype, int i, char *complex_style_pointer); 00199 char *dxf_ltype_get_dictionary_owner_hard (DxfLType *ltype); 00200 DxfLType *dxf_ltype_set_dictionary_owner_hard (DxfLType *ltype, char *dictionary_owner_hard); 00201 DxfLType *dxf_ltype_get_next (DxfLType *ltype); 00202 DxfLType *dxf_ltype_set_next (DxfLType *ltype, DxfLType *next); 00203 DxfLType *dxf_ltype_get_last (DxfLType *ltype); 00204 00205 00206 #ifdef __cplusplus 00207 } 00208 #endif 00209 00210 00211 #endif /* LIBDXF_SRC_LTYPE_H */ 00212 00213 00214 /* EOF */