⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 celltype.cpp

📁 利用C
💻 CPP
字号:
// Copyright (C) 2006 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added:  2006-06-05// Last changed: 2006-10-16#include <dolfin/log/dolfin_log.h>#include "PointCell.h"#include "IntervalCell.h"#include "TriangleCell.h"#include "TetrahedronCell.h"#include "Vertex.h"#include "CellType.h"#include "Cell.h"#include "Point.h"using namespace dolfin;//-----------------------------------------------------------------------------CellType::CellType(Type cell_type, Type facet_type)  : cell_type(cell_type), facet_type(facet_type){  // Do nothing}//-----------------------------------------------------------------------------CellType::~CellType(){  // Do nothing}//-----------------------------------------------------------------------------CellType* CellType::create(Type type){  switch ( type )  {  case point:    return new PointCell();  case interval:    return new IntervalCell();  case triangle:    return new TriangleCell();  case tetrahedron:    return new TetrahedronCell();  default:    error("Unknown cell type: %d.", type);  }    return 0;}//-----------------------------------------------------------------------------CellType* CellType::create(std::string type){  return create(string2type(type));}//-----------------------------------------------------------------------------CellType::Type CellType::string2type(std::string type){  if ( type == "interval" )    return interval;  else if ( type == "triangle" )    return triangle;  else if ( type == "tetrahedron" )    return tetrahedron;  else    error("Unknown cell type: \"%s\".", type.c_str());    return interval;}//-----------------------------------------------------------------------------bool CellType::intersects(MeshEntity& entity, Cell& c) const{  for(VertexIterator vi(entity); !vi.end(); ++vi)  {    Point p = vi->point();    if(intersects(c, p))      return true;  }  for(VertexIterator vi(c); !vi.end(); ++vi)  {    Point p = vi->point();    if(intersects(entity, p))      return true;  }  return false;}//-----------------------------------------------------------------------------std::string CellType::type2string(Type type){  switch ( type )  {  case point:    return "point";  case interval:    return "interval";  case triangle:    return "triangle";  case tetrahedron:    return "tetrahedron";  default:    error("Unknown cell type: %d.", type);  }  return "";}//-----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -