43 #ifndef STATUSATTRIB_HH_ 44 #define STATUSATTRIB_HH_ 48 #include "../Core/OpenVolumeMeshHandle.hh" 49 #include "OpenVolumeMeshStatus.hh" 50 #include "../Core/PropertyDefines.hh" 63 return v_status_[_h.idx()];
67 return v_status_[_h.idx()];
71 return e_status_[_h.idx()];
75 return e_status_[_h.idx()];
79 return he_status_[_h.idx()];
83 return he_status_[_h.idx()];
87 return f_status_[_h.idx()];
91 return f_status_[_h.idx()];
95 return hf_status_[_h.idx()];
99 return hf_status_[_h.idx()];
103 return c_status_[_h.idx()];
107 return c_status_[_h.idx()];
112 return m_status_[h.idx()];
117 return m_status_[h.idx()];
120 typedef VertexPropertyT<OpenVolumeMeshStatus>::const_iterator const_vstatus_iterator;
121 typedef VertexPropertyT<OpenVolumeMeshStatus>::iterator vstatus_iterator;
122 typedef EdgePropertyT<OpenVolumeMeshStatus>::const_iterator const_estatus_iterator;
123 typedef EdgePropertyT<OpenVolumeMeshStatus>::iterator estatus_iterator;
124 typedef HalfEdgePropertyT<OpenVolumeMeshStatus>::const_iterator const_hestatus_iterator;
125 typedef HalfEdgePropertyT<OpenVolumeMeshStatus>::iterator hestatus_iterator;
126 typedef FacePropertyT<OpenVolumeMeshStatus>::const_iterator const_fstatus_iterator;
127 typedef FacePropertyT<OpenVolumeMeshStatus>::iterator fstatus_iterator;
128 typedef HalfFacePropertyT<OpenVolumeMeshStatus>::const_iterator const_hfstatus_iterator;
129 typedef HalfFacePropertyT<OpenVolumeMeshStatus>::iterator hfstatus_iterator;
130 typedef CellPropertyT<OpenVolumeMeshStatus>::const_iterator const_cstatus_iterator;
131 typedef CellPropertyT<OpenVolumeMeshStatus>::iterator cstatus_iterator;
134 VertexPropertyT<OpenVolumeMeshStatus>::const_iterator vstatus_begin()
const {
135 return v_status_.begin();
137 VertexPropertyT<OpenVolumeMeshStatus>::iterator vstatus_begin() {
138 return v_status_.begin();
140 VertexPropertyT<OpenVolumeMeshStatus>::const_iterator vstatus_end()
const {
141 return v_status_.end();
143 VertexPropertyT<OpenVolumeMeshStatus>::iterator vstatus_end() {
144 return v_status_.end();
147 EdgePropertyT<OpenVolumeMeshStatus>::const_iterator estatus_begin()
const {
148 return e_status_.begin();
150 EdgePropertyT<OpenVolumeMeshStatus>::iterator estatus_begin() {
151 return e_status_.begin();
153 EdgePropertyT<OpenVolumeMeshStatus>::const_iterator estatus_end()
const {
154 return e_status_.end();
156 EdgePropertyT<OpenVolumeMeshStatus>::iterator estatus_end() {
157 return e_status_.end();
160 HalfEdgePropertyT<OpenVolumeMeshStatus>::const_iterator hestatus_begin()
const {
161 return he_status_.begin();
163 HalfEdgePropertyT<OpenVolumeMeshStatus>::iterator hestatus_begin() {
164 return he_status_.begin();
166 HalfEdgePropertyT<OpenVolumeMeshStatus>::const_iterator hestatus_end()
const {
167 return he_status_.end();
169 HalfEdgePropertyT<OpenVolumeMeshStatus>::iterator hestatus_end() {
170 return he_status_.end();
173 FacePropertyT<OpenVolumeMeshStatus>::const_iterator fstatus_begin()
const {
174 return f_status_.begin();
176 FacePropertyT<OpenVolumeMeshStatus>::iterator fstatus_begin() {
177 return f_status_.begin();
179 FacePropertyT<OpenVolumeMeshStatus>::const_iterator fstatus_end()
const {
180 return f_status_.end();
182 FacePropertyT<OpenVolumeMeshStatus>::iterator fstatus_end() {
183 return f_status_.end();
186 HalfFacePropertyT<OpenVolumeMeshStatus>::const_iterator hfstatus_begin()
const {
187 return hf_status_.begin();
189 HalfFacePropertyT<OpenVolumeMeshStatus>::iterator hfstatus_begin() {
190 return hf_status_.begin();
192 HalfFacePropertyT<OpenVolumeMeshStatus>::const_iterator hfstatus_end()
const {
193 return hf_status_.end();
195 HalfFacePropertyT<OpenVolumeMeshStatus>::iterator hfstatus_end() {
196 return hf_status_.end();
199 CellPropertyT<OpenVolumeMeshStatus>::const_iterator cstatus_begin()
const {
200 return c_status_.begin();
202 CellPropertyT<OpenVolumeMeshStatus>::iterator cstatus_begin() {
203 return c_status_.begin();
205 CellPropertyT<OpenVolumeMeshStatus>::const_iterator cstatus_end()
const {
206 return c_status_.end();
208 CellPropertyT<OpenVolumeMeshStatus>::iterator cstatus_end() {
209 return c_status_.end();
254 template<
typename std_API_Container_VHandlePointer,
255 typename std_API_Container_HHandlePointer,
256 typename std_API_Container_HFHandlePointer,
257 typename std_API_Container_CHandlePointer>
259 std_API_Container_VHandlePointer& vh_to_update,
260 std_API_Container_HHandlePointer& hh_to_update,
261 std_API_Container_HFHandlePointer& hfh_to_update,
262 std_API_Container_CHandlePointer& ch_to_update,
263 bool _preserveManifoldness =
false);
267 void mark_higher_dim_entities();
282 #if defined(INCLUDE_TEMPLATES) && !defined(STATUSATTRIBT_CC) 283 #include "StatusAttribT.cc"
Stores statuses like selected, tagged, deleted, etc.
void garbage_collection(bool _preserveManifoldness=false)
Delete all entities that have been marked as deleted.
Property classes for the different entity types.