SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Operation.h
1 //=========================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //=========================================================================
10 #ifndef smtk_session_polygon_Operation_h
11 #define smtk_session_polygon_Operation_h
12 
13 #include "smtk/operation/XMLOperation.h"
14 #include "smtk/session/polygon/Exports.h"
15 
16 #include "smtk/session/polygon/internal/Entity.h"
17 
19 #define smtkOpDebug(x) \
20  if (m_debugLevel > 0) \
21  { \
22  smtkDebugMacro(this->log(), x); \
23  }
24 
25 namespace smtk
26 {
27 namespace session
28 {
29 namespace polygon
30 {
31 
38 class SMTKPOLYGONSESSION_EXPORT Operation : public smtk::operation::XMLOperation
39 {
40 protected:
41  template<typename T, typename U, typename V>
42  void
43  pointsForLoop(T& polypts, int numPtsToUse, U& start, U finish, int numCoordsPerPoint, V pmodel);
44 
45  template<typename T, typename U, typename V, typename W>
46  void pointsForLoop(
47  T& polypts,
48  int numEdgesToUse,
49  U& curEdge,
50  U edgesFinish,
51  V& curEdgeDir,
52  V edgeDirFinish,
53  W& outerLoopEdges);
54 
55  template<typename T, typename U>
56  void pointsInLoopOrderFromOrientedEdges(
57  T& polypts,
58  U begin,
59  U end,
60  smtk::shared_ptr<internal::pmodel> pmodel);
61 };
62 
63 } // namespace polygon
64 } // namespace session
65 } // namespace smtk
66 
67 #endif // smtk_session_polygon_Operation_h
smtk
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
smtk::operation::XMLOperation
A specialization of smtk::operation::Operation for operations whose specifications are defined by an ...
Definition: XMLOperation.h:23
smtk::session::polygon::Operation
An operator using the polygon kernel.
Definition: Operation.h:38