(root)/
libredwg-0.13/
test/
unit-testing/
polyline_pface.c
       1  #define DWG_TYPE DWG_TYPE_POLYLINE_PFACE
       2  #include "common.c"
       3  
       4  void
       5  api_process (dwg_object *obj)
       6  {
       7    int error;
       8    BITCODE_BS numverts, numfaces;
       9    BITCODE_BL num_owned;
      10    BITCODE_H first_vertex, last_vertex, *vertex, seqend;
      11    Dwg_Version_Type version = obj->parent->header.version;
      12  
      13    dwg_ent_polyline_pface *polyline_pface = dwg_object_to_POLYLINE_PFACE (obj);
      14  
      15    // TODO: rename fields to num_verts, num_faces
      16    CHK_ENTITY_TYPE (polyline_pface, POLYLINE_PFACE, numverts, BS);
      17    // dwg_ent_polyline_pface_get_numpoints
      18    CHK_ENTITY_TYPE_W_OLD (polyline_pface, POLYLINE_PFACE, numfaces, BS);
      19    CHK_ENTITY_TYPE (polyline_pface, POLYLINE_PFACE, num_owned, BL);
      20    // dwg_ent_polyline_pface_get_points NI
      21  
      22    if (numverts + numfaces == num_owned)
      23      ok ("numverts + numfaces == num_owned");
      24    else
      25      ok ("TODO numverts %d + numfaces %d != num_owned %d", numverts, numfaces,
      26          num_owned);
      27  
      28    if (version >= R_13b1 && version <= R_2000)
      29      {
      30        CHK_ENTITY_H (polyline_pface, POLYLINE_PFACE, first_vertex);
      31        CHK_ENTITY_H (polyline_pface, POLYLINE_PFACE, last_vertex);
      32      }
      33    if (version >= R_2004)
      34      {
      35        CHK_ENTITY_HV (polyline_pface, POLYLINE_PFACE, vertex, num_owned);
      36      }
      37    CHK_ENTITY_H (polyline_pface, POLYLINE_PFACE, seqend);
      38  }