(root)/
libredwg-0.13/
test/
unit-testing/
acsh_extrusion_class.c
       1  // TODO DEBUGGING
       2  #define DWG_TYPE DWG_TYPE_ACSH_EXTRUSION_CLASS
       3  #include "common.c"
       4  
       5  void
       6  api_process (dwg_object *obj)
       7  {
       8    int error, isnew;
       9    // Dwg_EvalExpr evalexpr;
      10    // Dwg_ACSH_HistoryNode history_node;
      11    BITCODE_BD *trans;
      12    // AcDbShSweepBase
      13    BITCODE_BL major;                  /*!< DXF 90 */
      14    BITCODE_BL minor;                  /*!< DXF 91 */
      15    BITCODE_3BD direction;             /*!< DXF 10 */
      16    BITCODE_BL bl92;                   /*!< DXF 92 */
      17    BITCODE_BL shsw_text_size;         /*!< DXF 90 */
      18    BITCODE_TF shsw_text;              /*!< DXF 310 */
      19    BITCODE_BL shsw_bl93;              /*!< DXF 93 */
      20    BITCODE_BL shsw_text2_size;        /*!< DXF 90 */
      21    BITCODE_TF shsw_text2;             /*!< DXF 310 */
      22    BITCODE_BD draft_angle;            /*!< DXF 42 0.0 */
      23    BITCODE_BD start_draft_dist;       /*!< DXF 43 0.0 */
      24    BITCODE_BD end_draft_dist;         /*!< DXF 44 0.0 */
      25    BITCODE_BD scale_factor;           /*!< DXF 45 1.0 */
      26    BITCODE_BD twist_angle;            /*!< DXF 48 0.0 */
      27    BITCODE_BD align_angle;            /*!< DXF 49 0.0 */
      28    BITCODE_BD *sweepentity_transform; /*!< DXF 46 16x */
      29    BITCODE_BD *pathentity_transform;  /*!< DXF 47 16x */
      30    BITCODE_RC align_option;           /*!< DXF 70 2 */
      31    BITCODE_RC miter_option;           /*!< DXF 71 2 */
      32    BITCODE_B has_align_start;         /*!< DXF 290 1 */
      33    BITCODE_B bank;                    /*!< DXF 292 1 */
      34    BITCODE_B check_intersections;     /*!< DXF 293 0 */
      35    BITCODE_B shsw_b294;               /*!< DXF 294  1 */
      36    BITCODE_B shsw_b295;               /*!< DXF 295  1 */
      37    BITCODE_B shsw_b296;               /*!< DXF 296  1 */
      38    BITCODE_3BD pt2;                   /*!< DXF 11 0,0,0 */
      39    // AcDbShExtrusion
      40  
      41    Dwg_Version_Type dwg_version = obj->parent->header.version;
      42  #ifdef DEBUG_CLASSES
      43    dwg_obj_acsh_extrusion_class *_obj
      44        = dwg_object_to_ACSH_EXTRUSION_CLASS (obj);
      45  
      46    CHK_EVALEXPR (ACSH_EXTRUSION_CLASS);
      47    CHK_ACSH_HISTORYNODE ();
      48  
      49    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, major, BL); /*!< DXF 90 */
      50    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, minor, BL); /*!< DXF 91 */
      51    CHK_ENTITY_3RD (_obj, ACSH_EXTRUSION_CLASS, direction);  /*!< DXF 10 */
      52    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, bl92, BL);  /*!< DXF 92 */
      53    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_text_size,
      54                     BL);                                        /*!< DXF 90 */
      55    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_text, TF); /*!< DXF 310 */
      56    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_bl93, BL); /*!< DXF 93 */
      57    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_text2_size,
      58                     BL);                                         /*!< DXF 90 */
      59    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_text2, TF); /*!< DXF 310 */
      60    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, draft_angle,
      61                     BD); /*!< DXF 42 0.0 */
      62    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, start_draft_dist,
      63                     BD); /*!< DXF 43 0.0 */
      64    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, end_draft_dist,
      65                     BD); /*!< DXF 44 0.0 */
      66    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, scale_factor,
      67                     BD); /*!< DXF 45 1.0 */
      68    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, twist_angle,
      69                     BD); /*!< DXF 48 0.0 */
      70    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, align_angle,
      71                     BD); /*!< DXF 49 0.0 */
      72    if (!dwg_dynapi_entity_value (_obj, "ACSH_EXTRUSION_CLASS",
      73                                  "sweepentity_transform",
      74                                  &sweepentity_transform, NULL))
      75      fail ("ACSH_EXTRUSION_CLASS.sweepentity_transform");
      76    if (!sweepentity_transform)
      77      ok ("ACSH_EXTRUSION_CLASS.sweepentity_transform: NULL");
      78    else
      79      for (int i = 0; i < 16; i++)
      80        {
      81          if (sweepentity_transform[i] == _obj->sweepentity_transform[i])
      82            ok ("ACSH_EXTRUSION_CLASS.sweepentity_transform[%d]: %f", i,
      83                sweepentity_transform[i]);
      84          else
      85            fail ("ACSH_EXTRUSION_CLASS.sweepentity_transform[%d]: %f", i,
      86                  sweepentity_transform[i]);
      87        }
      88    if (!dwg_dynapi_entity_value (_obj, "ACSH_EXTRUSION_CLASS",
      89                                  "pathentity_transform", &pathentity_transform,
      90                                  NULL))
      91      fail ("ACSH_EXTRUSION_CLASS.pathentity_transform");
      92    else if (!pathentity_transform)
      93      ok ("ACSH_EXTRUSION_CLASS.pathentity_transform: NULL");
      94    else
      95      for (int i = 0; i < 16; i++)
      96        {
      97          if (pathentity_transform[i] == _obj->pathentity_transform[i])
      98            ok ("ACSH_EXTRUSION_CLASS.pathentity_transform[%d]: %f", i,
      99                pathentity_transform[i]);
     100          else
     101            fail ("ACSH_EXTRUSION_CLASS.pathentity_transform[%d]: %f", i,
     102                  pathentity_transform[i]);
     103        }
     104    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, align_option,
     105                     RC); /*!< DXF 70 2 */
     106    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, miter_option,
     107                     RC); /*!< DXF 71 2 */
     108    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, has_align_start,
     109                     B);                                   /*!< DXF 290 1 */
     110    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, bank, B); /*!< DXF 292 1 */
     111    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, check_intersections,
     112                     B); /*!< DXF 293 0 */
     113    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_b294,
     114                     B); /*!< DXF 294  1 */
     115    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_b295,
     116                     B); /*!< DXF 295  1 */
     117    CHK_ENTITY_TYPE (_obj, ACSH_EXTRUSION_CLASS, shsw_b296,
     118                     B);                              /*!< DXF 296  1 */
     119    CHK_ENTITY_3RD (_obj, ACSH_EXTRUSION_CLASS, pt2); /*!< DXF 11 0,0,0 */
     120  #endif
     121  }