7#include "GeometryKernelSurfaceInternalUtils.h"
12#include <arcane/utils/NotImplementedException.h>
13#include <GeometryKernel/tools/surface/triangulation-topo-tools.h>
16NUMERICS_BEGIN_NAMESPACE
23 GeometryKernel::TriangulationDataStructurePtr surface,
33 normal =
Real3(0.,0.,0.);
40 switch (face.
type()) {
69 GeometryKernel::TriangulationTopoTools topology(*surface);
77void saveSurface(
const char * filename, GeometryKernel::TriangulationDataStructure & tr)
79 typedef GeometryKernel::Vector
Vector;
80 typedef GeometryKernel::TriangulationFace
Face;
81 typedef GeometryKernel::TObjectId
TObjectId;
84 file.open(filename,std::ios::out | std::ios::binary);
85 const int nVertices = tr.numberOfVertices();
86 file.write((
const char*)&
nVertices,
sizeof(
int));
92 const int nFaces = tr.numberOfFaces();
93 file.write((
const char*)&
nFaces,
sizeof(
int));
94 for(Integer i=0;i<
nFaces;++i)
96 const Face & face = tr.face(i);
97 for(
int j=0;
j<3;++
j) {
107void loadSurface(
const char * filename, GeometryKernel::TriangulationDataStructure & tr)
109 typedef GeometryKernel::Vector
Vector;
110 typedef GeometryKernel::TriangulationFace
Face;
111 typedef GeometryKernel::TObjectId
TObjectId;
116 file.open(filename,std::ios::in | std::ios::binary);
118 file.read((
char*)&
nVertices,
sizeof(
int));
126 file.read((
char*)&
nFaces,
sizeof(
int));
127 for(Integer i=0;i<
nFaces;++i)
130 for(
int j=0;
j<3;++
j) {
133 tr.newFace(
k[0],
k[1],
k[2]);
141NUMERICS_END_NAMESPACE
ARCANE_DEPRECATED_118 bool isBoundaryOutside() const
Indique si la face est au bord t orientée vers l'extérieur.
Integer size() const
Nombre d'éléments du groupe.
IMesh * mesh() const
Maillage auquel appartient ce groupe (0 pour le group nul)
Node node(Int32 i) const
i-ème noeud de l'entité
bool isOwn() const
true si l'entité est appartient au sous-domaine
Int16 type() const
Type de l'entité
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Classe gérant un vecteur de réel de dimension 3.
Vector class, to be used by user.
Exception lorsqu'une fonction n'est pas implémentée.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
void loadSurface(const char *filename, GeometryKernel::TriangulationDataStructure &tr)
Load surface utility for debugging purpose (binary format)
void saveSurface(const char *filename, GeometryKernel::TriangulationDataStructure &tr)
Save surface utility for debugging purpose (binary format)
void buildFaceGroupSurface(FaceGroup group, GeometryKernel::TriangulationDataStructurePtr surface, Array< Node > &node_array, Array< Face > &face_array, Array< bool > &face_reorient, Real3 &normal)
Build GK triangulation and additional data from a face group.