TagHandle ArrayMesh::tag_create( const std::string& tag_name, 
                                 TagType data_type, 
                                 unsigned size, 
                                 const void* default_value, 
                                 MsqError &err)
{
  Tag* tag = allocate_tag( tag_name.c_str(), true,
                           data_type, size, 
                           0, 0,
                           0, 0,
                           default_value, err );
  MSQ_ERRZERO(err);
  return reinterpret_cast<TagHandle>(tag);
}
예제 #2
0
 WorkItem(const Request& req,
          ExtraSendFun* send_extra,
          ExtraRecvFun* recv_extra)
     : request(req)
     , request_tag(allocate_tag())
     , request_type(vfsprotocol::RequestTraits<Request>::request_type)
     , request_desc(vfsprotocol::request_type_to_string(request_type))
     , send_extra_fun(send_extra)
     , recv_extra_fun(recv_extra)
       // clang++ (3.8.0-2ubuntu3~trusty4) complains otherwise about
       // 'promise' being used unitialized when initializing 'future'
     , promise()
     , future(promise.get_future())
 {}
TagHandle ArrayMesh::add_writable_tag_data( const char* tag_name,
                                            TagType data_type,
                                            int vals_per_entity,
                                            void* vertex_data,
                                            void* element_data,
                                            const void* default_value,
                                            MsqError& err )
{
  Tag* tag = allocate_tag( tag_name, false,
                           data_type, vals_per_entity, 
                           0, vertex_data,
                           0, element_data,
                           default_value, err );
  MSQ_ERRZERO(err);
  return reinterpret_cast<TagHandle>(tag);
}