topology::point_complex< C, R, E, F > Struct Template Reference

Inheritance diagram for topology::point_complex< C, R, E, F >:

topology::point_graph< C, R, E > List of all members.

Detailed Description

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
struct topology::point_complex< C, R, E, F >

The point complex structure.

The point complexe structure allows us to store the different connections in the computation of the topology, that implies we can reuse the result of the computation of the topology.
For that, the structure stores the points and an adjacency list.

Definition at line 37 of file point_complex.h.

Public Types

typedef E Vect
typedef R VectPt
typedef R::value_type point_t
typedef C coeff_t
typedef F faces_t

Public Member Functions

 point_complex ()
 point_complex (const point_complex< C, R, E > &G)
void insert_face (int idx_pt0, int idx_pt1, int idx_pt2)
int access (const point_t &Point) const
int access (point_t *Point) const
void insertVertex (const point_t &Point)
void createInEdge ()
int insert (const point_t &Point)
void insert (int nb_point_begin, int nb_point_end)
int push_back (const point_t &Point)
void graphAddCoord (const coeff_t &value, const int &ind)
void graphSwap (const int &ind_i, const int &ind_j)
void rotationGraph (const coeff_t &t)
void graphInsert (const point_graph< C, R, E > &Graph)

Public Attributes

Faces
std::map< point_t, int, ltpts<
point_t > > 
Pts_Map
Vertices
Edges
int nb_edges


Member Typedef Documentation

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
typedef E topology::point_complex< C, R, E, F >::Vect

The type for the adjacency list.

Reimplemented from topology::point_graph< C, R, E >.

Definition at line 39 of file point_complex.h.

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
typedef R topology::point_complex< C, R, E, F >::VectPt

The type for storing the vertices.

Reimplemented from topology::point_graph< C, R, E >.

Definition at line 41 of file point_complex.h.

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
typedef R::value_type topology::point_complex< C, R, E, F >::point_t

The type of point.

Reimplemented from topology::point_graph< C, R, E >.

Definition at line 43 of file point_complex.h.

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
typedef C topology::point_complex< C, R, E, F >::coeff_t

The type of the coefficients.

Reimplemented from topology::point_graph< C, R, E >.

Definition at line 45 of file point_complex.h.

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
typedef F topology::point_complex< C, R, E, F >::faces_t

The type of the coefficients.

Definition at line 47 of file point_complex.h.


Constructor & Destructor Documentation

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
topology::point_complex< C, R, E, F >::point_complex (  ) 

The default constructor.

Definition at line 51 of file point_complex.h.

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
topology::point_complex< C, R, E, F >::point_complex ( const point_complex< C, R, E > &  G  ) 

The copy constructor.

Definition at line 54 of file point_complex.h.


Member Function Documentation

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
void topology::point_complex< C, R, E, F >::insert_face ( int  idx_pt0,
int  idx_pt1,
int  idx_pt2 
)

Parameters:
nb_point_begin the number that corresponds to the begin point of the edge we want to insert in the map Pts_Map.
nb_point_end the number that corresponds to the begin point of the edge we want to insert in the map Pts_Map.
This procedure inserts the edge represented by nb_point_begin and nb_point_end in the data Edges of the point graph structure.

Definition at line 66 of file point_complex.h.

References topology::point_complex< C, R, E, F >::Faces.

int topology::point_graph< C , R , E >::access ( const point_t Point  )  const [inherited]

Parameters:
Point a point.
Allows us to know the rank of the Point in the data Vertices .
Returns:
The index in the data structure or -1 if the Point isn't in the data structure.

Definition at line 107 of file point_graph.h.

References topology::ptcmp(), and topology::point_graph< C, R, S >::Vertices.

int topology::point_graph< C , R , E >::access ( point_t Point  )  const [inherited]

Parameters:
*Point a point.
Allows us to know the rank of the *Point in the data Vertices .
Returns:
The index in the data structure or -1 if the Point isn't in the data structure.

Definition at line 133 of file point_graph.h.

References topology::ptcmp(), and topology::point_graph< C, R, S >::Vertices.

void topology::point_graph< C , R , E >::insertVertex ( const point_t Point  )  [inherited]

Parameters:
Point a point.
This procedure inserts the point Point in the data Vertices of the structure.

Definition at line 169 of file point_graph.h.

References topology::point_graph< C, R, S >::Vertices.

void topology::point_graph< C , R , E >::createInEdge (  )  [inherited]

This procedure allocates place in the data Edges which stores the edges.

Definition at line 178 of file point_graph.h.

References topology::point_graph< C, R, S >::Edges.

int topology::point_graph< C , R , E >::insert ( const point_t Point  )  [inherited]

Parameters:
Point a point.
This function does the insertion if the edge isn't in the data Vertices of the point graph structure.
Returns:
The index in the data structure.

Definition at line 192 of file point_graph.h.

References topology::ptcmp(), topology::point_graph< C, R, S >::push_back(), and topology::point_graph< C, R, S >::Vertices.

void topology::point_graph< C , R , E >::insert ( int  nb_point_begin,
int  nb_point_end 
) [inherited]

Parameters:
nb_point_begin the number that corresponds to the begin point of the edge we want to insert in the map Pts_Map.
nb_point_end the number that corresponds to the begin point of the edge we want to insert in the map Pts_Map.
This procedure inserts the edge represented by nb_point_begin and nb_point_end in the data Edges of the point graph structure.

Definition at line 237 of file point_graph.h.

References topology::point_graph< C, R, S >::createInEdge(), topology::point_graph< C, R, S >::Edges, topology::point_graph< C, R, S >::nb_edges, and topology::point_graph< C, R, S >::push_back().

int topology::point_graph< C , R , E >::push_back ( const point_t Point  )  [inherited]

Parameters:
Point a point.
This function inserts the point Point in the data Vertices of the structure.
Returns:
The index in the data structure.

Definition at line 220 of file point_graph.h.

References topology::point_graph< C, R, S >::insertVertex(), topology::point_graph< C, R, S >::Pts_Map, and topology::point_graph< C, R, S >::Vertices.

void topology::point_graph< C , R , E >::graphAddCoord ( const coeff_t value,
const int &  ind 
) [inherited]

Parameters:
value a value.
ind an index.
Add for all the points in the structure point_graph a new coordinate of index ind , and this new coordinate has the value value .

Definition at line 291 of file point_graph.h.

References topology::point_graph< C, R, S >::Pts_Map, and topology::point_graph< C, R, S >::Vertices.

void topology::point_graph< C , R , E >::graphSwap ( const int &  ind_i,
const int &  ind_j 
) [inherited]

Parameters:
ind_i an index.
ind_j an index.
Swap the coordinate ind_i with ind_j in all the vertices in the data structure Vertices.

Definition at line 326 of file point_graph.h.

References topology::point_graph< C, R, S >::Pts_Map, and topology::point_graph< C, R, S >::Vertices.

void topology::point_graph< C , R , E >::rotationGraph ( const coeff_t t  )  [inherited]

Parameters:
t the rotation.
This procedure allows us to recuperate the structure point_graph in the starting coordinates system.
Remarks:
The parameter t represents tan(teta/2) where teta is the rotation angle.

Definition at line 350 of file point_graph.h.

References topology::point_graph< C, R, S >::Pts_Map, and topology::point_graph< C, R, S >::Vertices.

void topology::point_graph< C , R , E >::graphInsert ( const point_graph< C , R , E > &  Graph  )  [inherited]

Parameters:
Graph a point_graph.
Insert in the structure point_graph the graph represented by the parameter Graph .

Definition at line 375 of file point_graph.h.

References topology::point_graph< C, R, S >::Edges, topology::point_graph< C, R, S >::insert(), topology::point_graph< C, R, S >::push_back(), and topology::point_graph< C, R, S >::Vertices.


Member Data Documentation

template<class C, class R = Seq<topology::point<C> >, class E = Seq<std::vector<int> >, class F = Seq<std::vector<int> >>
F topology::point_complex< C, R, E, F >::Faces

The type of the coefficients.

Definition at line 49 of file point_complex.h.

Referenced by topology::point_complex< C, R, E, F >::insert_face(), and topology::print().

std::map<point_t, int, ltpts<point_t> > topology::point_graph< C , R , E >::Pts_Map [inherited]

The map of points.
It is useful because it allows us to determine quickly if a point is already in the structure point_graph.

Definition at line 75 of file point_graph.h.

R topology::point_graph< C , R , E >::Vertices [inherited]

The points container.
It represents the vertices of the point graph structure.

Definition at line 81 of file point_graph.h.

Referenced by topology::print().

E topology::point_graph< C , R , E >::Edges [inherited]

The adjacency list.
It represents the relations between the vertices of the point graph structure.

Definition at line 88 of file point_graph.h.

Referenced by topology::print().

int topology::point_graph< C , R , E >::nb_edges [inherited]

The number of edges in the graph of points.

Definition at line 91 of file point_graph.h.


The documentation for this struct was generated from the following file:

SYNAPS DOCUMENTATION
logo