File: FaceInfo.h

package info (click to toggle)
pprepair 0.0~20170614-dd91a21-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 344 kB
  • sloc: cpp: 2,853; xml: 295; makefile: 16; sh: 11; ansic: 10
file content (53 lines) | stat: -rw-r--r-- 1,540 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 Copyright (c) 2009-2013,
 Ken Arroyo Ohori    g.a.k.arroyoohori@tudelft.nl
 Hugo Ledoux         h.ledoux@tudelft.nl
 Martijn Meijers     b.m.meijers@tudelft.nl
 All rights reserved.
 
 This file is part of pprepair: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 
 Licensees holding a valid commercial license may use this file in
 accordance with the commercial license agreement provided with
 the software.
 
 This file is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 */

#ifndef FACEINFO_H
#define FACEINFO_H

#include "PolygonHandle.h"

class FaceInfo {
public:
  // Constructors and destructors
	FaceInfo();
	~FaceInfo();
  
  // Clean (and expensive) access operations
	bool hasTag(PolygonHandle *handle);
  bool hasNoTags() const;
  bool hasOneTag() const;
  unsigned int numberOfTags() const;
  void addTag(PolygonHandle *handle);
  void removeAllTags();
  void substituteTagsWith(PolygonHandle *handle);
  PolygonHandle * getOneTag() const;
  
  // Dirty (and cheap) access operations
	PolygonHandle * getTags() const;
	void setTags(PolygonHandle *handle);
  
private:
	// Tags to the polygons it belongs to.
	// If more than one, it points to a MultiPolygonHandle with a set of pointers to PolygonHandles.
	PolygonHandle *tag;
};

#endif