49#if defined(VF_HAS_FAST_WINDING)
59 return std::make_shared<GridFactory>();
68 if (triangularMeshDiscretizationStrategy)
69 grid->setTriangularMeshDiscretizationStrategy(triangularMeshDiscretizationStrategy);
71 grid->setTriangularMeshDiscretizationStrategy(std::make_shared<PointInObjectDiscretizationStrategy>());
81 triangularMeshDiscretizationStrategy = std::make_shared<PointUnderTriangleStrategy>();
84 triangularMeshDiscretizationStrategy = std::make_shared<RayCastingDiscretizationStrategy>();
87 triangularMeshDiscretizationStrategy = std::make_shared<PointInObjectDiscretizationStrategy>();
89#if defined(VF_HAS_FAST_WINDING)
90 case TriangularMeshDiscretizationMethod::FAST_WINDING:
91 triangularMeshDiscretizationStrategy = std::make_shared<FastWindingDiscretizationStrategy>();
100 triangularMeshDiscretizationStrategy =
strategy;
void setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod triangularMeshDiscretizationMethod)
SPtr< Grid > makeGrid(SPtr< Object > gridShape, real startX, real startY, real startZ, real endX, real endY, real endZ, real delta, uint level, const std::string &d3Qxx="D3Q27")
void setTriangularMeshDiscretizationStrategy(SPtr< TriangularMeshDiscretizationStrategy > strategy)
static SPtr< GridFactory > make()
static SPtr< GridImp > makeShared(SPtr< Object > object, real startX, real startY, real startZ, real endX, real endY, real endZ, real delta, std::string d3Qxx, uint level)
std::shared_ptr< T > SPtr
TriangularMeshDiscretizationMethod