Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CGoGN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Hurstel
CGoGN
Commits
cfaebffc
Commit
cfaebffc
authored
May 13, 2013
by
Sylvain Thery
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
keep only NoTypeNameAttribute for fake attribute
parent
927fc518
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
55 additions
and
652 deletions
+55
-652
include/Algo/Decimation/edgeSelector.h
include/Algo/Decimation/edgeSelector.h
+10
-10
include/Algo/Decimation/halfEdgeSelector.h
include/Algo/Decimation/halfEdgeSelector.h
+3
-3
include/Algo/Decimation/simplifMesh.h
include/Algo/Decimation/simplifMesh.h
+1
-1
include/Algo/DecimationVolumes/edgeSelector.h
include/Algo/DecimationVolumes/edgeSelector.h
+2
-2
include/Algo/Geometry/centroid.h
include/Algo/Geometry/centroid.h
+0
-1
include/Algo/Geometry/feature.h
include/Algo/Geometry/feature.h
+1
-1
include/Algo/Geometry/voronoiDiagrams.h
include/Algo/Geometry/voronoiDiagrams.h
+1
-1
include/Algo/Import/importMRDAT.hpp
include/Algo/Import/importMRDAT.hpp
+1
-1
include/Algo/Import/importMSH.hpp
include/Algo/Import/importMSH.hpp
+1
-1
include/Algo/Import/importMesh.hpp
include/Algo/Import/importMesh.hpp
+5
-5
include/Algo/Import/importNAS.hpp
include/Algo/Import/importNAS.hpp
+1
-1
include/Algo/Import/importNodeEle.hpp
include/Algo/Import/importNodeEle.hpp
+1
-1
include/Algo/Import/importObjEle.hpp
include/Algo/Import/importObjEle.hpp
+1
-1
include/Algo/Import/importObjTex.hpp
include/Algo/Import/importObjTex.hpp
+3
-3
include/Algo/Import/importSvg.hpp
include/Algo/Import/importSvg.hpp
+2
-2
include/Algo/Import/importTet.hpp
include/Algo/Import/importTet.hpp
+1
-1
include/Algo/Import/importTs.hpp
include/Algo/Import/importTs.hpp
+1
-1
include/Algo/Import/importVBGZ.hpp
include/Algo/Import/importVBGZ.hpp
+1
-1
include/Algo/Import/importVTU.hpp
include/Algo/Import/importVTU.hpp
+1
-1
include/Algo/Modelisation/triangulation.h
include/Algo/Modelisation/triangulation.h
+1
-1
include/Algo/Selection/collector.h
include/Algo/Selection/collector.h
+2
-2
include/Container/attributeContainer.h
include/Container/attributeContainer.h
+0
-99
include/Container/attributeContainer.hpp
include/Container/attributeContainer.hpp
+0
-72
include/Container/attributeMultiVector.h
include/Container/attributeMultiVector.h
+0
-56
include/Container/attributeMultiVector.hpp
include/Container/attributeMultiVector.hpp
+0
-90
include/Container/fakeAttribute.h
include/Container/fakeAttribute.h
+5
-155
include/Topology/generic/attribops.h
include/Topology/generic/attribops.h
+0
-101
include/Topology/generic/attributeHandler.h
include/Topology/generic/attributeHandler.h
+5
-0
include/Topology/generic/autoAttributeHandler.h
include/Topology/generic/autoAttributeHandler.h
+1
-34
src/Container/attributeContainer.cpp
src/Container/attributeContainer.cpp
+4
-4
No files found.
include/Algo/Decimation/edgeSelector.h
View file @
cfaebffc
...
...
@@ -120,7 +120,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"LengthEdgeInfo"
;
}
}
LengthEdgeInfo
;
typedef
No
MathIO
Attribute
<
LengthEdgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
LengthEdgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
...
...
@@ -183,7 +183,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"QEMedgeInfo"
;
}
}
QEMedgeInfo
;
typedef
No
MathIO
Attribute
<
QEMedgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
QEMedgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
VertexAttribute
<
Utils
::
Quadric
<
REAL
>
>
quadric
;
...
...
@@ -235,7 +235,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"QEMedgeInfo"
;
}
}
QEMedgeInfo
;
typedef
No
MathIO
Attribute
<
QEMedgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
QEMedgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
VertexAttribute
<
Utils
::
Quadric
<
REAL
>
>
quadric
;
...
...
@@ -288,7 +288,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"NormalAreaEdgeInfo"
;
}
}
NormalAreaEdgeInfo
;
typedef
No
MathIO
Attribute
<
NormalAreaEdgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
NormalAreaEdgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
EdgeAttribute
<
Geom
::
Matrix
<
3
,
3
,
REAL
>
>
edgeMatrix
;
...
...
@@ -342,7 +342,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"CurvatureEdgeInfo"
;
}
}
CurvatureEdgeInfo
;
typedef
No
MathIO
Attribute
<
CurvatureEdgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
CurvatureEdgeInfo
>
EdgeInfo
;
Geom
::
BoundingBox
<
VEC3
>
bb
;
REAL
radius
;
...
...
@@ -442,7 +442,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"CurvatureTensorEdgeInfo"
;
}
}
CurvatureTensorEdgeInfo
;
typedef
No
MathIO
Attribute
<
CurvatureTensorEdgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
CurvatureTensorEdgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
EdgeAttribute
<
REAL
>
edgeangle
;
...
...
@@ -500,7 +500,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"MinDetailEdgeInfo"
;
}
}
MinDetailEdgeInfo
;
typedef
No
MathIO
Attribute
<
MinDetailEdgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
MinDetailEdgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
...
...
@@ -551,7 +551,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"ColorNaiveEdgeInfo"
;
}
}
ColorNaiveedgeInfo
;
typedef
No
MathIO
Attribute
<
ColorNaiveedgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
ColorNaiveedgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
VertexAttribute
<
Utils
::
Quadric
<
REAL
>
>
m_quadric
;
...
...
@@ -613,7 +613,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"GeomColOptGradEdgeInfo"
;
}
}
ColorNaiveedgeInfo
;
typedef
No
MathIO
Attribute
<
ColorNaiveedgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
ColorNaiveedgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
VertexAttribute
<
Utils
::
Quadric
<
REAL
>
>
m_quadric
;
...
...
@@ -695,7 +695,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"QEMextColorEdgeInfo"
;
}
}
QEMextColorEdgeInfo
;
typedef
No
MathIO
Attribute
<
QEMextColorEdgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
QEMextColorEdgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
VertexAttribute
<
Utils
::
QuadricNd
<
REAL
,
6
>
>
m_quadric
;
...
...
include/Algo/Decimation/halfEdgeSelector.h
View file @
cfaebffc
...
...
@@ -57,7 +57,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"QEMhalfEdgeInfo"
;
}
}
QEMhalfEdgeInfo
;
typedef
No
MathIO
Attribute
<
QEMhalfEdgeInfo
>
HalfEdgeInfo
;
typedef
No
TypeName
Attribute
<
QEMhalfEdgeInfo
>
HalfEdgeInfo
;
DartAttribute
<
HalfEdgeInfo
>
halfEdgeInfo
;
VertexAttribute
<
Utils
::
Quadric
<
REAL
>
>
quadric
;
...
...
@@ -113,7 +113,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"QEMextColorHalfEdgeInfo"
;
}
}
QEMextColorHalfEdgeInfo
;
typedef
No
MathIO
Attribute
<
QEMextColorHalfEdgeInfo
>
HalfEdgeInfo
;
typedef
No
TypeName
Attribute
<
QEMextColorHalfEdgeInfo
>
HalfEdgeInfo
;
DartAttribute
<
HalfEdgeInfo
>
halfEdgeInfo
;
VertexAttribute
<
Utils
::
QuadricNd
<
REAL
,
6
>
>
m_quadric
;
...
...
@@ -200,7 +200,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"ColorExperimentalHalfEdgeInfo"
;
}
}
QEMextColorHalfEdgeInfo
;
typedef
No
MathIO
Attribute
<
QEMextColorHalfEdgeInfo
>
HalfEdgeInfo
;
typedef
No
TypeName
Attribute
<
QEMextColorHalfEdgeInfo
>
HalfEdgeInfo
;
DartAttribute
<
HalfEdgeInfo
>
halfEdgeInfo
;
VertexAttribute
<
Utils
::
Quadric
<
REAL
>
>
m_quadric
;
...
...
include/Algo/Decimation/simplifMesh.h
View file @
cfaebffc
...
...
@@ -298,7 +298,7 @@ private:
typedef
typename
std
::
multimap
<
float
,
CRIT
*>::
iterator
CRIT_IT
;
typedef
No
MathIO
NameAttribute
<
CRIT_IT
>
CRIT_IT_ATT
;
typedef
No
Type
NameAttribute
<
CRIT_IT
>
CRIT_IT_ATT
;
// attribut d'arête
AutoAttributeHandler
<
CRIT_IT_ATT
>
m_edgeEmb
;
...
...
include/Algo/DecimationVolumes/edgeSelector.h
View file @
cfaebffc
...
...
@@ -101,7 +101,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"LengthEdgeInfo"
;
}
}
LengthEdgeInfo
;
typedef
No
MathIO
Attribute
<
LengthEdgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
LengthEdgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
...
...
@@ -151,7 +151,7 @@ private:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"SG98edgeInfo"
;
}
}
SG98edgeInfo
;
typedef
No
MathIO
Attribute
<
SG98edgeInfo
>
EdgeInfo
;
typedef
No
TypeName
Attribute
<
SG98edgeInfo
>
EdgeInfo
;
EdgeAttribute
<
EdgeInfo
>
edgeInfo
;
...
...
include/Algo/Geometry/centroid.h
View file @
cfaebffc
...
...
@@ -26,7 +26,6 @@
#define __ALGO_GEOMETRY_CENTROID_H__
#include "Geometry/basic.h"
#include "Topology/generic/attribops.h"
namespace
CGoGN
{
...
...
include/Algo/Geometry/feature.h
View file @
cfaebffc
...
...
@@ -47,7 +47,7 @@ enum
typedef
struct
{
Dart
d
;
float
w
;
}
e0point
;
typedef
struct
{
e0point
p1
;
e0point
p2
;
unsigned
char
type
;
}
e0segment
;
typedef
No
MathIO
NameAttribute
<
e0segment
>
ridgeSegment
;
typedef
No
Type
NameAttribute
<
e0segment
>
ridgeSegment
;
template
<
typename
PFP
>
void
featureEdgeDetection
(
...
...
include/Algo/Geometry/voronoiDiagrams.h
View file @
cfaebffc
...
...
@@ -34,7 +34,7 @@ protected :
Dart
pathOrigin
;
static
std
::
string
CGoGNnameOfType
()
{
return
"VoronoiVertexInfo"
;
}
}
VoronoiVertexInfo
;
typedef
No
MathIO
Attribute
<
VoronoiVertexInfo
>
VertexInfo
;
typedef
No
TypeName
Attribute
<
VoronoiVertexInfo
>
VertexInfo
;
typename
PFP
::
MAP
&
map
;
const
EdgeAttribute
<
REAL
>&
edgeCost
;
// weights on the graph edges
...
...
include/Algo/Import/importMRDAT.hpp
View file @
cfaebffc
...
...
@@ -192,7 +192,7 @@ bool importMRDAT(typename PFP::MAP& map, const std::string& filename, std::vecto
std
::
cout
<<
" Create base level mesh.."
<<
std
::
flush
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
)
;
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
)
;
DartMarkerNoUnmark
m
(
map
)
;
unsigned
nbf
=
qt
.
roots
.
size
()
;
...
...
include/Algo/Import/importMSH.hpp
View file @
cfaebffc
...
...
@@ -49,7 +49,7 @@ bool importMSH(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer
&
container
=
map
.
template
getAttributeContainer
<
VERTEX
>()
;
unsigned
int
m_nbVertices
=
0
,
m_nbVolumes
=
0
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
//open file
std
::
ifstream
fp
(
filename
.
c_str
(),
std
::
ios
::
in
);
...
...
include/Algo/Import/importMesh.hpp
View file @
cfaebffc
...
...
@@ -42,7 +42,7 @@ namespace Import
template
<
typename
PFP
>
bool
importMesh
(
typename
PFP
::
MAP
&
map
,
MeshTablesSurface
<
PFP
>&
mts
)
{
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
unsigned
nbf
=
mts
.
getNbFaces
();
int
index
=
0
;
...
...
@@ -159,7 +159,7 @@ bool importMesh(typename PFP::MAP& map, const std::string& filename, std::vector
template
<
typename
PFP
>
bool
importMeshSAsV
(
typename
PFP
::
MAP
&
map
,
MeshTablesSurface
<
PFP
>&
mts
)
{
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
unsigned
nbf
=
mts
.
getNbFaces
();
int
index
=
0
;
...
...
@@ -273,7 +273,7 @@ namespace Import
template
<
typename
PFP
>
bool
importMeshSToV
(
typename
PFP
::
MAP
&
map
,
Surface
::
Import
::
MeshTablesSurface
<
PFP
>&
mts
,
float
dist
)
{
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
unsigned
nbf
=
mts
.
getNbFaces
();
int
index
=
0
;
// buffer for tempo faces (used to remove degenerated edges)
...
...
@@ -379,7 +379,7 @@ bool importMeshSToV(typename PFP::MAP& map, Surface::Import::MeshTablesSurface<P
template
<
typename
PFP
>
bool
importMeshSurfToVol
(
typename
PFP
::
MAP
&
map
,
Surface
::
Import
::
MeshTablesSurface
<
PFP
>&
mts
,
float
scale
,
unsigned
int
nbStage
)
{
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
);
unsigned
nbf
=
mts
.
getNbFaces
();
int
index
=
0
;
// buffer for tempo faces (used to remove degenerated edges)
...
...
@@ -508,7 +508,7 @@ bool importMeshSurfToVol(typename PFP::MAP& map, Surface::Import::MeshTablesSurf
template
<
typename
PFP
>
bool
importMesh
(
typename
PFP
::
MAP
&
map
,
MeshTablesVolume
<
PFP
>&
mtv
)
{
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
return
false
;
}
...
...
include/Algo/Import/importNAS.hpp
View file @
cfaebffc
...
...
@@ -76,7 +76,7 @@ bool importNAS(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer
&
container
=
map
.
template
getAttributeContainer
<
VERTEX
>()
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
//open file
std
::
ifstream
fp
(
filename
.
c_str
(),
std
::
ios
::
in
);
...
...
include/Algo/Import/importNodeEle.hpp
View file @
cfaebffc
...
...
@@ -50,7 +50,7 @@ bool importNodeWithELERegions(typename PFP::MAP& map, const std::string& filenam
AttributeContainer
&
container
=
map
.
template
getAttributeContainer
<
VERTEX
>()
;
unsigned
int
m_nbVertices
=
0
,
m_nbFaces
=
0
,
m_nbEdges
=
0
,
m_nbVolumes
=
0
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
//open file
std
::
ifstream
fnode
(
filenameNode
.
c_str
(),
std
::
ios
::
in
);
...
...
include/Algo/Import/importObjEle.hpp
View file @
cfaebffc
...
...
@@ -49,7 +49,7 @@ bool importOFFWithELERegions(typename PFP::MAP& map, const std::string& filename
unsigned
int
m_nbVertices
=
0
,
m_nbFaces
=
0
,
m_nbEdges
=
0
,
m_nbVolumes
=
0
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
// open files
std
::
ifstream
foff
(
filenameOFF
.
c_str
(),
std
::
ios
::
in
);
...
...
include/Algo/Import/importObjTex.hpp
View file @
cfaebffc
...
...
@@ -673,9 +673,9 @@ bool OBJModel<PFP>::import( const std::string& filename, std::vector<std::string
localIndices
.
reserve
(
64
*
3
);
FunctorInitEmb
<
typename
PFP
::
MAP
,
VERTEX
>
fsetemb
(
m_map
);
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
m_map
,
"incidents"
);
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
unsigned
int
>
>
>
vecNormIndPerVertex
(
m_map
,
"incidentsN"
);
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
unsigned
int
>
>
>
vecTCIndPerVertex
(
m_map
,
"incidentsTC"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
m_map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
unsigned
int
>
>
>
vecNormIndPerVertex
(
m_map
,
"incidentsN"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
unsigned
int
>
>
>
vecTCIndPerVertex
(
m_map
,
"incidentsTC"
);
unsigned
int
currentGroup
=
0
;
...
...
include/Algo/Import/importSvg.hpp
View file @
cfaebffc
...
...
@@ -314,8 +314,8 @@ bool importSVG(typename PFP::MAP& map, const std::string& filename, VertexAttrib
CellMarker
<
EDGE
>
brokenMark
(
map
);
EdgeAttribute
<
float
>
edgeWidth
=
map
.
template
addAttribute
<
float
,
EDGE
>(
"width"
);
EdgeAttribute
<
NoMathAttribute
<
Geom
::
Plane3D
<
typename
PFP
::
REAL
>
>
>
edgePlanes
=
map
.
template
addAttribute
<
NoMathAttribute
<
Geom
::
Plane3D
<
typename
PFP
::
REAL
>
>
,
EDGE
>
(
"planes"
);
//
EdgeAttribute<NoMathAttribute<Geom::Plane3D<typename PFP::REAL> > > edgePlanes = map.template addAttribute<NoMathAttribute<Geom::Plane3D<typename PFP::REAL> >, EDGE>("planes");
EdgeAttribute
<
NoTypeNameAttribute
<
Geom
::
Plane3D
<
typename
PFP
::
REAL
>
>
>
edgePlanes
=
map
.
template
addAttribute
<
NoTypeNameAttribute
<
Geom
::
Plane3D
<
typename
PFP
::
REAL
>
>
,
EDGE
>
(
"planes"
);
/////////////////////////////////////////////////////////////////////////////////////////////
//create broken lines
DartMarker
brokenL
(
map
);
...
...
include/Algo/Import/importTet.hpp
View file @
cfaebffc
...
...
@@ -49,7 +49,7 @@ bool importTet(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer
&
container
=
map
.
template
getAttributeContainer
<
VERTEX
>()
;
unsigned
int
m_nbVertices
=
0
,
m_nbVolumes
=
0
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
//open file
std
::
ifstream
fp
(
filename
.
c_str
(),
std
::
ios
::
in
);
...
...
include/Algo/Import/importTs.hpp
View file @
cfaebffc
...
...
@@ -54,7 +54,7 @@ bool importTs(typename PFP::MAP& map, const std::string& filename, std::vector<s
AttributeContainer
&
container
=
map
.
template
getAttributeContainer
<
VERTEX
>()
;
unsigned
int
m_nbVertices
=
0
,
m_nbVolumes
=
0
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
// open file
std
::
ifstream
fp
(
filename
.
c_str
(),
std
::
ios
::
in
);
...
...
include/Algo/Import/importVBGZ.hpp
View file @
cfaebffc
...
...
@@ -48,7 +48,7 @@ bool importVBGZ(typename PFP::MAP& map, const std::string& filename, std::vector
AttributeContainer
&
container
=
map
.
template
getAttributeContainer
<
VERTEX
>()
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
//open file
igzstream
fs
(
filename
.
c_str
(),
std
::
ios
::
in
|
std
::
ios
::
binary
);
...
...
include/Algo/Import/importVTU.hpp
View file @
cfaebffc
...
...
@@ -53,7 +53,7 @@ bool importVTU(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer
&
container
=
map
.
template
getAttributeContainer
<
VERTEX
>()
;
VertexAutoAttribute
<
No
MathIO
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
VertexAutoAttribute
<
No
Type
NameAttribute
<
std
::
vector
<
Dart
>
>
>
vecDartsPerVertex
(
map
,
"incidents"
);
xmlDocPtr
doc
=
xmlReadFile
(
filename
.
c_str
(),
NULL
,
0
);
xmlNodePtr
vtu_node
=
xmlDocGetRootElement
(
doc
);
...
...
include/Algo/Modelisation/triangulation.h
View file @
cfaebffc
...
...
@@ -58,7 +58,7 @@ protected:
// multiset typedef for simple writing
typedef
std
::
multiset
<
VertexPoly
,
VertexPoly
>
VPMS
;
typedef
typename
VPMS
::
iterator
VMPSITER
;
typedef
No
MathIO
NameAttribute
<
VMPSITER
>
EarAttr
;
typedef
No
Type
NameAttribute
<
VMPSITER
>
EarAttr
;
class
VertexPoly
{
...
...
include/Algo/Selection/collector.h
View file @
cfaebffc
...
...
@@ -436,7 +436,7 @@ protected:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"DijkstraVertexInfo"
;
}
}
DijkstraVertexInfo
;
typedef
No
MathIO
Attribute
<
DijkstraVertexInfo
>
VertexInfo
;
typedef
No
TypeName
Attribute
<
DijkstraVertexInfo
>
VertexInfo
;
VertexAttribute
<
VertexInfo
>
vertexInfo
;
...
...
@@ -483,7 +483,7 @@ protected:
bool
valid
;
static
std
::
string
CGoGNnameOfType
()
{
return
"DijkstraVertexInfo"
;
}
}
DijkstraVertexInfo
;
typedef
No
MathIO
Attribute
<
DijkstraVertexInfo
>
VertexInfo
;
typedef
No
TypeName
Attribute
<
DijkstraVertexInfo
>
VertexInfo
;
VertexAttribute
<
VertexInfo
>
vertexInfo
;
...
...
include/Container/attributeContainer.h
View file @
cfaebffc
...
...
@@ -404,112 +404,13 @@ public:
template
<
typename
T
>
void
setData
(
unsigned
int
attrIndex
,
unsigned
int
eltIndex
,
const
T
&
data
);
/**************************************
* ARITHMETIC OPERATIONS *
**************************************/
/**
* Toggle an attribute to process
* @param index index of attribute
*/
void
toggleProcess
(
unsigned
int
index
);
/**
* Toggle an attribute to process
* @param index index of attribute
*/
void
toggleNoProcess
(
unsigned
int
index
);
/**
* copy process attributes of line j in line i
* @param i line to modify
* @param j line to copy to i
*/
void
affect
(
unsigned
int
i
,
unsigned
int
j
);
/**
* add process attributes of line j to line i
* @param i line to modify
* @param j line to add to i
*/
void
add
(
unsigned
int
i
,
unsigned
int
j
);
/**
* sub process attributes of line j from line i
* @param i line to modify
* @param j line to sub from i
*/
void
sub
(
unsigned
int
i
,
unsigned
int
j
);
/**
* multiy process attributes of line j by a scalar
* @param i line to multiply
* @param alpha scalar
*/
void
mult
(
unsigned
int
i
,
double
alpha
);
/**
* multiy process attributes of line j by a scalar
* @param i line to multiply
* @param alpha scalar
*/
void
div
(
unsigned
int
i
,
double
alpha
);
/**
* interpole process attributes A_res = alpha*A_i + (1-alpha)*A_j
* @param res result line
* @param i first line
* @param j second line
* @param alpha coefficient of interpolation
*/
void
lerp
(
unsigned
res
,
unsigned
int
i
,
unsigned
int
j
,
double
alpha
);
/**************************************
* SAVE & LOAD *
**************************************/
protected:
// /**
// * load xmlpart of container
// */
// bool loadXmlHB(xmlNodePtr node);
/**
* load xmlpart of container
*/
// bool loadXmlBWF(xmlNodePtr node);
/**
* load xmlpart of container
*/
// bool loadXmlAN(xmlNodePtr node, unsigned int nbb);
/**
* load xmlpart of container
*/
// bool loadXmlDL(xmlNodePtr node);
public:
/**
* save Xml file
* @param writer a xmlTextWriterPtr obj
* @param id the id to save
*/
// void saveXml(xmlTextWriterPtr writer, unsigned int id);
/**
* get id from xml node
* @param node the node of container node of xml tree
* @return the value of id of the node
*/
// static unsigned int getIdXmlNode(xmlNodePtr node);
/**
* load from xml node
* @param node the node of container node of xml tree
*/
// bool loadXml(xmlNodePtr node);
/**
* save binary file
* @param fs a file stream
...
...
include/Container/attributeContainer.hpp
View file @
cfaebffc
...
...
@@ -396,76 +396,4 @@ inline void AttributeContainer::setData(unsigned int attrIndex, unsigned int elt
atm
->
operator
[](
eltIndex
)
=
data
;
}
/**************************************
* ARITHMETIC OPERATIONS *
**************************************/
inline
void
AttributeContainer
::
toggleProcess
(
unsigned
int
index
)
{
assert
(
index
<
m_tableAttribs
.
size
()
||
!
"toggleProcess: attribute index out of bounds"
);
assert
(
m_tableAttribs
[
index
]
!=
NULL
||
!
"toggleProcess: attribute does not exist"
);
m_tableAttribs
[
index
]
->
toggleProcess
();
}
inline
void
AttributeContainer
::
toggleNoProcess
(
unsigned
int
index
)
{
assert
(
index
<
m_tableAttribs
.
size
()
||
!
"toggleNoProcess: attribute index out of bounds"
);
assert
(
m_tableAttribs
[
index
]
!=
NULL
||
!
"toggleNoProcess: attribute does not exist"
);
m_tableAttribs
[
index
]
->
toggleNoProcess
();
}
inline
void
AttributeContainer
::
affect
(
unsigned
int
i
,
unsigned
int
j
)
{
for
(
std
::
vector
<
AttributeMultiVectorGen
*>::
iterator
it
=
m_tableAttribs
.
begin
();
it
!=
m_tableAttribs
.
end
();
++
it
)
{
if
(
*
it
!=
NULL
)
(
*
it
)
->
affect
(
i
,
j
);
}
}
inline
void
AttributeContainer
::
add
(
unsigned
int
i
,
unsigned
int
j
)
{
for
(
std
::
vector
<
AttributeMultiVectorGen
*>::
iterator
it
=
m_tableAttribs
.
begin
();
it
!=
m_tableAttribs
.
end
();
++
it
)
{
if
((
*
it
)
!=
NULL
)
(
*
it
)
->
add
(
i
,
j
);
}
}
inline
void
AttributeContainer
::
sub
(
unsigned
int
i
,
unsigned
int
j
)
{
for
(
std
::
vector
<
AttributeMultiVectorGen
*>::
iterator
it
=
m_tableAttribs
.
begin
();
it
!=
m_tableAttribs
.
end
();
++
it
)
{
if
((
*
it
)
!=
NULL
)
(
*
it
)
->
sub
(
i
,
j
);
}
}
inline
void
AttributeContainer
::
mult
(
unsigned
int
i
,
double
alpha
)
{
for
(
std
::
vector
<
AttributeMultiVectorGen
*>::
iterator
it
=
m_tableAttribs
.
begin
();
it
!=
m_tableAttribs
.
end
();
++
it
)
{
if
((
*
it
)
!=
NULL
)
(
*
it
)
->
mult
(
i
,
alpha
);
}
}
inline
void
AttributeContainer
::
div
(
unsigned
int
i
,
double
alpha
)
{
for
(
std
::
vector
<
AttributeMultiVectorGen
*>::
iterator
it
=
m_tableAttribs
.
begin
();
it
!=
m_tableAttribs
.
end
();
++
it
)
{
if
((
*
it
)
!=
NULL
)
(
*
it
)
->
div
(
i
,
alpha
);
}
}
inline
void
AttributeContainer
::
lerp
(
unsigned
res
,
unsigned
int
i
,
unsigned
int
j
,
double
alpha
)
{
for
(
std
::
vector
<
AttributeMultiVectorGen
*>::
iterator
it
=
m_tableAttribs
.
begin
();
it
!=
m_tableAttribs
.
end
();
++
it
)
{
if
((
*
it
)
!=
NULL
)
(
*
it
)
->
lerp
(
res
,
i
,
j
,
alpha
);
}
}
}
// namespace CGoGN
include/Container/attributeMultiVector.h
View file @
cfaebffc
...
...
@@ -159,54 +159,11 @@ public:
virtual
void
overwrite
(
unsigned
int
src_b
,
unsigned
int
src_id
,
unsigned
int
dst_b
,
unsigned
int
dst_id
)
=
0
;
/**************************************
* ARITHMETIC OPERATIONS *
**************************************/
void
toggleProcess
();
void
toggleNoProcess
();
bool
toProcess
();
/**
* copy attribute j on i
*/
virtual
void
affect
(
unsigned
int
i
,
unsigned
int
j
)
=
0
;
/**
* add attribute j to i
*/
virtual
void
add
(
unsigned
int
i
,
unsigned
int
j
)
=
0
;
/**
* sub attribute j from i
*/
virtual
void
sub
(
unsigned
int
i
,
unsigned
int
j
)
=
0
;
/**
* multiply attribute i by alpha
*/
virtual
void
mult
(
unsigned
int
i
,
double
alpha
)
=
0
;
/**
* divide attribute i by alpha
*/
virtual
void
div
(
unsigned
int
i
,
double
alpha
)
=
0
;
/**
* interpolate attribute i and j in res (with alpha coefficient)
*/