(root)/
libredwg-0.13/
test/
unit-testing/
pointcloudex.c
       1  // TODO coverage
       2  #define DWG_TYPE DWG_TYPE_POINTCLOUDEX
       3  #include "common.c"
       4  
       5  void
       6  api_process (dwg_object *obj)
       7  {
       8    int error, isnew;
       9    BITCODE_BL i;
      10    BITCODE_BS class_version;
      11    BITCODE_3BD extents_min;
      12    BITCODE_3BD extents_max;
      13    BITCODE_3BD ucs_origin;
      14    BITCODE_3BD ucs_x_dir;
      15    BITCODE_3BD ucs_y_dir;
      16    BITCODE_3BD ucs_z_dir;
      17    BITCODE_B is_locked;
      18    BITCODE_H pointclouddefex;
      19    BITCODE_H reactor;
      20    BITCODE_T name;
      21    BITCODE_B show_intensity;
      22  
      23    BITCODE_BS stylization_type;
      24    BITCODE_T intensity_colorscheme;
      25    BITCODE_T cur_colorscheme;
      26    BITCODE_T classification_colorscheme;
      27    BITCODE_BD elevation_min;
      28    BITCODE_BD elevation_max;
      29    BITCODE_BL intensity_min;
      30    BITCODE_BL intensity_max;
      31    BITCODE_BS intensity_out_of_range_behavior;
      32    BITCODE_BS elevation_out_of_range_behavior;
      33    BITCODE_B elevation_apply_to_fixed_range;
      34    BITCODE_B intensity_as_gradient;
      35    BITCODE_B elevation_as_gradient;
      36    BITCODE_B show_cropping;
      37    BITCODE_BL unknown_bl0;
      38    BITCODE_BL unknown_bl1;
      39    BITCODE_BL num_croppings;
      40    Dwg_POINTCLOUDEX_Croppings *croppings;
      41    BITCODE_3BD *vertices;
      42  
      43    Dwg_Version_Type dwg_version = obj->parent->header.version;
      44    // #ifdef DEBUG_CLASSES
      45    dwg_ent_pointcloudex *_obj = dwg_object_to_POINTCLOUDEX (obj);
      46  
      47    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, class_version, BS);
      48    CHK_ENTITY_MAX (_obj, POINTCLOUDEX, class_version, BS, 2);
      49    CHK_ENTITY_3RD (_obj, POINTCLOUDEX, extents_min);
      50    CHK_ENTITY_3RD (_obj, POINTCLOUDEX, extents_max);
      51    CHK_ENTITY_3RD (_obj, POINTCLOUDEX, ucs_origin);
      52    CHK_ENTITY_3RD (_obj, POINTCLOUDEX, ucs_x_dir);
      53    CHK_ENTITY_3RD (_obj, POINTCLOUDEX, ucs_y_dir);
      54    CHK_ENTITY_3RD (_obj, POINTCLOUDEX, ucs_z_dir);
      55    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, is_locked, B);
      56    CHK_ENTITY_H (_obj, POINTCLOUDEX, pointclouddefex);
      57    CHK_ENTITY_H (_obj, POINTCLOUDEX, reactor);
      58    CHK_ENTITY_UTF8TEXT (_obj, POINTCLOUDEX, name);
      59    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, show_intensity, B);
      60  
      61    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, stylization_type, BS);
      62    CHK_ENTITY_UTF8TEXT (_obj, POINTCLOUDEX, intensity_colorscheme);
      63    CHK_ENTITY_UTF8TEXT (_obj, POINTCLOUDEX, cur_colorscheme);
      64    CHK_ENTITY_UTF8TEXT (_obj, POINTCLOUDEX, classification_colorscheme);
      65    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, elevation_min, BD);
      66    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, elevation_max, BD);
      67    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, intensity_min, BL);
      68    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, intensity_max, BL);
      69    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, intensity_out_of_range_behavior, BS);
      70    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, elevation_out_of_range_behavior, BS);
      71    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, elevation_apply_to_fixed_range, B);
      72    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, intensity_as_gradient, B);
      73    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, elevation_as_gradient, B);
      74    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, show_cropping, B);
      75    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, unknown_bl0, BL);
      76    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, unknown_bl1, BL);
      77    CHK_ENTITY_TYPE (_obj, POINTCLOUDEX, num_croppings, BL);
      78    if (!dwg_dynapi_entity_value (_obj, "POINTCLOUDEX", "croppings", &croppings,
      79                                  NULL))
      80      fail ("POINTCLOUDEX.croppings");
      81    else
      82      for (i = 0; i < num_croppings; i++)
      83        {
      84          CHK_SUBCLASS_TYPE (croppings[i], POINTCLOUDEX_Croppings, type, BS);
      85          CHK_SUBCLASS_TYPE (croppings[i], POINTCLOUDEX_Croppings, is_inside, B);
      86          CHK_SUBCLASS_TYPE (croppings[i], POINTCLOUDEX_Croppings, is_inverted,
      87                             B);
      88          CHK_SUBCLASS_3RD (croppings[i], POINTCLOUDEX_Croppings, crop_plane);
      89          CHK_SUBCLASS_3RD (croppings[i], POINTCLOUDEX_Croppings, crop_x_dir);
      90          CHK_SUBCLASS_3RD (croppings[i], POINTCLOUDEX_Croppings, crop_y_dir);
      91          CHK_SUBCLASS_TYPE (croppings[i], POINTCLOUDEX_Croppings, num_pts, BL);
      92          CHK_SUBCLASS_3DPOINTS (croppings[i], POINTCLOUDEX_Croppings, pts,
      93                                 croppings[i].num_pts);
      94        }
      95    // #endif
      96  }