/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: spatial.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "spatial.pb-c.h"
void   messages__zone__init
                     (Messages__Zone         *message)
{
  static const Messages__Zone init_value = MESSAGES__ZONE__INIT;
  *message = init_value;
}
size_t messages__zone__get_packed_size
                     (const Messages__Zone *message)
{
  assert(message->base.descriptor == &messages__zone__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t messages__zone__pack
                     (const Messages__Zone *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &messages__zone__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t messages__zone__pack_to_buffer
                     (const Messages__Zone *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &messages__zone__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Messages__Zone *
       messages__zone__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Messages__Zone *)
     protobuf_c_message_unpack (&messages__zone__descriptor,
                                allocator, len, data);
}
void   messages__zone__free_unpacked
                     (Messages__Zone *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &messages__zone__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   messages__grid_control__init
                     (Messages__GridControl         *message)
{
  static const Messages__GridControl init_value = MESSAGES__GRID_CONTROL__INIT;
  *message = init_value;
}
size_t messages__grid_control__get_packed_size
                     (const Messages__GridControl *message)
{
  assert(message->base.descriptor == &messages__grid_control__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t messages__grid_control__pack
                     (const Messages__GridControl *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &messages__grid_control__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t messages__grid_control__pack_to_buffer
                     (const Messages__GridControl *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &messages__grid_control__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Messages__GridControl *
       messages__grid_control__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Messages__GridControl *)
     protobuf_c_message_unpack (&messages__grid_control__descriptor,
                                allocator, len, data);
}
void   messages__grid_control__free_unpacked
                     (Messages__GridControl *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &messages__grid_control__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   messages__mesh_control__init
                     (Messages__MeshControl         *message)
{
  static const Messages__MeshControl init_value = MESSAGES__MESH_CONTROL__INIT;
  *message = init_value;
}
size_t messages__mesh_control__get_packed_size
                     (const Messages__MeshControl *message)
{
  assert(message->base.descriptor == &messages__mesh_control__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t messages__mesh_control__pack
                     (const Messages__MeshControl *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &messages__mesh_control__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t messages__mesh_control__pack_to_buffer
                     (const Messages__MeshControl *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &messages__mesh_control__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Messages__MeshControl *
       messages__mesh_control__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Messages__MeshControl *)
     protobuf_c_message_unpack (&messages__mesh_control__descriptor,
                                allocator, len, data);
}
void   messages__mesh_control__free_unpacked
                     (Messages__MeshControl *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &messages__mesh_control__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   messages__tree_control__init
                     (Messages__TreeControl         *message)
{
  static const Messages__TreeControl init_value = MESSAGES__TREE_CONTROL__INIT;
  *message = init_value;
}
size_t messages__tree_control__get_packed_size
                     (const Messages__TreeControl *message)
{
  assert(message->base.descriptor == &messages__tree_control__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t messages__tree_control__pack
                     (const Messages__TreeControl *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &messages__tree_control__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t messages__tree_control__pack_to_buffer
                     (const Messages__TreeControl *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &messages__tree_control__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Messages__TreeControl *
       messages__tree_control__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Messages__TreeControl *)
     protobuf_c_message_unpack (&messages__tree_control__descriptor,
                                allocator, len, data);
}
void   messages__tree_control__free_unpacked
                     (Messages__TreeControl *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &messages__tree_control__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   messages__topology__init
                     (Messages__Topology         *message)
{
  static const Messages__Topology init_value = MESSAGES__TOPOLOGY__INIT;
  *message = init_value;
}
size_t messages__topology__get_packed_size
                     (const Messages__Topology *message)
{
  assert(message->base.descriptor == &messages__topology__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t messages__topology__pack
                     (const Messages__Topology *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &messages__topology__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t messages__topology__pack_to_buffer
                     (const Messages__Topology *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &messages__topology__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Messages__Topology *
       messages__topology__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Messages__Topology *)
     protobuf_c_message_unpack (&messages__topology__descriptor,
                                allocator, len, data);
}
void   messages__topology__free_unpacked
                     (Messages__Topology *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &messages__topology__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor messages__zone__field_descriptors[11] =
{
  {
    "name",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, name),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "id",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, id),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "dimensionality",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, dimensionality),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "revision",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, revision),
    &messages__revision__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "elements",
    5,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(Messages__Zone, n_elements),
    offsetof(Messages__Zone, elements),
    NULL,
    NULL,
    PROTOBUF_C_FIELD_FLAG_PACKED,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "element_count",
    6,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, element_count),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "comments",
    7,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, comments),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "info",
    8,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, info),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "resource_name",
    9,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, resource_name),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "bounds",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Zone, bounds),
    &messages__extrema__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "terminal_coord",
    11,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_FLOAT,
    offsetof(Messages__Zone, n_terminal_coord),
    offsetof(Messages__Zone, terminal_coord),
    NULL,
    NULL,
    PROTOBUF_C_FIELD_FLAG_PACKED,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned messages__zone__field_indices_by_name[] = {
  9,   /* field[9] = bounds */
  6,   /* field[6] = comments */
  2,   /* field[2] = dimensionality */
  5,   /* field[5] = element_count */
  4,   /* field[4] = elements */
  1,   /* field[1] = id */
  7,   /* field[7] = info */
  0,   /* field[0] = name */
  8,   /* field[8] = resource_name */
  3,   /* field[3] = revision */
  10,   /* field[10] = terminal_coord */
};
static const ProtobufCIntRange messages__zone__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 11 }
};
const ProtobufCMessageDescriptor messages__zone__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Messages.Zone",
  "Zone",
  "Messages__Zone",
  "Messages",
  sizeof(Messages__Zone),
  11,
  messages__zone__field_descriptors,
  messages__zone__field_indices_by_name,
  1,  messages__zone__number_ranges,
  (ProtobufCMessageInit) messages__zone__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor messages__grid_control__field_descriptors[11] =
{
  {
    "basis",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__GridControl, basis),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "size",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(Messages__GridControl, n_size),
    offsetof(Messages__GridControl, size),
    NULL,
    NULL,
    PROTOBUF_C_FIELD_FLAG_PACKED,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "spacing",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(Messages__GridControl, n_spacing),
    offsetof(Messages__GridControl, spacing),
    NULL,
    NULL,
    PROTOBUF_C_FIELD_FLAG_PACKED,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "grading",
    4,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(Messages__GridControl, n_grading),
    offsetof(Messages__GridControl, grading),
    NULL,
    NULL,
    PROTOBUF_C_FIELD_FLAG_PACKED,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "length_units",
    8,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__GridControl, length_units),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "target_n",
    9,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Messages__GridControl, target_n),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "bounds",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__GridControl, bounds),
    &messages__extrema__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "symmetries",
    11,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(Messages__GridControl, n_symmetries),
    offsetof(Messages__GridControl, symmetries),
    NULL,
    NULL,
    PROTOBUF_C_FIELD_FLAG_PACKED,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "interior",
    12,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__GridControl, interior),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "exterior",
    13,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__GridControl, exterior),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "shell",
    14,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__GridControl, shell),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned messages__grid_control__field_indices_by_name[] = {
  0,   /* field[0] = basis */
  6,   /* field[6] = bounds */
  9,   /* field[9] = exterior */
  3,   /* field[3] = grading */
  8,   /* field[8] = interior */
  4,   /* field[4] = length_units */
  10,   /* field[10] = shell */
  1,   /* field[1] = size */
  2,   /* field[2] = spacing */
  7,   /* field[7] = symmetries */
  5,   /* field[5] = target_n */
};
static const ProtobufCIntRange messages__grid_control__number_ranges[2 + 1] =
{
  { 1, 0 },
  { 8, 4 },
  { 0, 11 }
};
const ProtobufCMessageDescriptor messages__grid_control__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Messages.GridControl",
  "GridControl",
  "Messages__GridControl",
  "Messages",
  sizeof(Messages__GridControl),
  11,
  messages__grid_control__field_descriptors,
  messages__grid_control__field_indices_by_name,
  2,  messages__grid_control__number_ranges,
  (ProtobufCMessageInit) messages__grid_control__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor messages__mesh_control__field_descriptors[22] =
{
  {
    "target_n",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, target_n),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "max_iterations",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, max_iterations),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "size_ratio",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, size_ratio),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "size_decay",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, size_decay),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "size_exponent",
    5,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, size_exponent),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "curv_ratio",
    6,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, curv_ratio),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "curv_decay",
    7,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, curv_decay),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "curv_exponent",
    8,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, curv_exponent),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "node_radius",
    9,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, node_radius),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "bounds",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, bounds),
    &messages__extrema__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "length_units",
    11,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, length_units),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "interior",
    12,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, interior),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "exterior",
    13,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, exterior),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "shell",
    14,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, shell),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "equalize",
    15,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, equalize),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "smooth",
    16,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, smooth),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "include_background",
    18,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, include_background),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "keep_existing_points",
    19,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, keep_existing_points),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "auto_fit_domain",
    20,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, auto_fit_domain),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "boundary_layer_thickness",
    23,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_DOUBLE,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, boundary_layer_thickness),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "symmetries",
    24,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(Messages__MeshControl, n_symmetries),
    offsetof(Messages__MeshControl, symmetries),
    NULL,
    NULL,
    PROTOBUF_C_FIELD_FLAG_PACKED,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "background_n",
    30,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Messages__MeshControl, background_n),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned messages__mesh_control__field_indices_by_name[] = {
  18,   /* field[18] = auto_fit_domain */
  21,   /* field[21] = background_n */
  19,   /* field[19] = boundary_layer_thickness */
  9,   /* field[9] = bounds */
  6,   /* field[6] = curv_decay */
  7,   /* field[7] = curv_exponent */
  5,   /* field[5] = curv_ratio */
  14,   /* field[14] = equalize */
  12,   /* field[12] = exterior */
  16,   /* field[16] = include_background */
  11,   /* field[11] = interior */
  17,   /* field[17] = keep_existing_points */
  10,   /* field[10] = length_units */
  1,   /* field[1] = max_iterations */
  8,   /* field[8] = node_radius */
  13,   /* field[13] = shell */
  3,   /* field[3] = size_decay */
  4,   /* field[4] = size_exponent */
  2,   /* field[2] = size_ratio */
  15,   /* field[15] = smooth */
  20,   /* field[20] = symmetries */
  0,   /* field[0] = target_n */
};
static const ProtobufCIntRange messages__mesh_control__number_ranges[4 + 1] =
{
  { 1, 0 },
  { 18, 16 },
  { 23, 19 },
  { 30, 21 },
  { 0, 22 }
};
const ProtobufCMessageDescriptor messages__mesh_control__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Messages.MeshControl",
  "MeshControl",
  "Messages__MeshControl",
  "Messages",
  sizeof(Messages__MeshControl),
  22,
  messages__mesh_control__field_descriptors,
  messages__mesh_control__field_indices_by_name,
  4,  messages__mesh_control__number_ranges,
  (ProtobufCMessageInit) messages__mesh_control__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor messages__tree_control__field_descriptors[6] =
{
  {
    "min_depth",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__TreeControl, min_depth),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "max_depth",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__TreeControl, max_depth),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "max_size",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Messages__TreeControl, max_size),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ref_dimensionality",
    7,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__TreeControl, ref_dimensionality),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "length_units",
    8,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__TreeControl, length_units),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "bounds",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__TreeControl, bounds),
    &messages__extrema__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned messages__tree_control__field_indices_by_name[] = {
  5,   /* field[5] = bounds */
  4,   /* field[4] = length_units */
  1,   /* field[1] = max_depth */
  2,   /* field[2] = max_size */
  0,   /* field[0] = min_depth */
  3,   /* field[3] = ref_dimensionality */
};
static const ProtobufCIntRange messages__tree_control__number_ranges[3 + 1] =
{
  { 1, 0 },
  { 7, 3 },
  { 10, 5 },
  { 0, 6 }
};
const ProtobufCMessageDescriptor messages__tree_control__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Messages.TreeControl",
  "TreeControl",
  "Messages__TreeControl",
  "Messages",
  sizeof(Messages__TreeControl),
  6,
  messages__tree_control__field_descriptors,
  messages__tree_control__field_indices_by_name,
  3,  messages__tree_control__number_ranges,
  (ProtobufCMessageInit) messages__tree_control__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor messages__topology__field_descriptors[16] =
{
  {
    "name",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, name),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "type",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, type),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ndim",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, ndim),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "basis",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, basis),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "filename",
    5,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, filename),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "revision",
    6,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, revision),
    &messages__revision__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "info",
    7,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, info),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "nodes",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, nodes),
    &messages__elements__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "edges",
    11,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, edges),
    &messages__elements__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "faces",
    12,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, faces),
    &messages__elements__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cells",
    13,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, cells),
    &messages__elements__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "data",
    15,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, data),
    &messages__record64__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "sparse_data",
    16,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Messages__Topology, n_sparse_data),
    offsetof(Messages__Topology, sparse_data),
    &messages__sparse_matrix__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "grid_control",
    20,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, grid_control),
    &messages__grid_control__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "mesh_control",
    21,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, mesh_control),
    &messages__mesh_control__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tree_control",
    22,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Messages__Topology, tree_control),
    &messages__tree_control__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned messages__topology__field_indices_by_name[] = {
  3,   /* field[3] = basis */
  10,   /* field[10] = cells */
  11,   /* field[11] = data */
  8,   /* field[8] = edges */
  9,   /* field[9] = faces */
  4,   /* field[4] = filename */
  13,   /* field[13] = grid_control */
  6,   /* field[6] = info */
  14,   /* field[14] = mesh_control */
  0,   /* field[0] = name */
  2,   /* field[2] = ndim */
  7,   /* field[7] = nodes */
  5,   /* field[5] = revision */
  12,   /* field[12] = sparse_data */
  15,   /* field[15] = tree_control */
  1,   /* field[1] = type */
};
static const ProtobufCIntRange messages__topology__number_ranges[4 + 1] =
{
  { 1, 0 },
  { 10, 7 },
  { 15, 11 },
  { 20, 13 },
  { 0, 16 }
};
const ProtobufCMessageDescriptor messages__topology__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Messages.Topology",
  "Topology",
  "Messages__Topology",
  "Messages",
  sizeof(Messages__Topology),
  16,
  messages__topology__field_descriptors,
  messages__topology__field_indices_by_name,
  4,  messages__topology__number_ranges,
  (ProtobufCMessageInit) messages__topology__init,
  NULL,NULL,NULL    /* reserved[123] */
};
