示例#1
0
 void IsosurfaceModule::deserialize(boost::archive::xml_iarchive& ar, unsigned int version)
 {
   ar & boost::serialization::make_nvp(ISOVALUE_KEY_NAME.c_str(), m_isovalues);
   m_dirty = true;
   OnIsovaluesChanged();
   SetSyncAndRenderRequired();
 }
示例#2
0
 void IsosurfaceModule::AddIsovalue(const ElVisFloat& value)
 {
   if (m_isovalues.find(value) == m_isovalues.end())
   {
     m_isovalues.insert(value);
     m_dirty = true;
     SetSyncAndRenderRequired();
     OnIsovaluesChanged();
     OnModuleChanged(*this);
   }
 }
示例#3
0
 void IsosurfaceModule::RemoveIsovalue(const ElVisFloat& value)
 {
   std::set<ElVisFloat>::iterator found = m_isovalues.find(value);
   if (found != m_isovalues.end())
   {
     m_isovalues.erase(found);
     m_dirty = true;
     SetSyncAndRenderRequired();
     OnIsovaluesChanged();
     OnModuleChanged(*this);
   }
 }
示例#4
0
  void IsosurfaceModule::Deserialize(const ElVis::Serialization::IsosurfaceModule& input)
  {
    m_epsilonExponent = input.epsilon_exponent();
    m_projectionOrder = input.projection_order();
    m_isovalues.clear();
    for(int i = 0; i < input.isovalues_size(); ++i)
    {
      m_isovalues.insert(input.isovalues(i));
    }

    m_dirty = true;
    OnIsovaluesChanged();
    SetSyncAndRenderRequired();
  }