CFx SDK Documentation  2020SP3
FMMdlVertex.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2015, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2015 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef __FMMDL_VERTEX_H__
25 #define __FMMDL_VERTEX_H__
26 
27 #include "Modeler/FMMdlEntity.h"
28 
32 namespace FacetModeler
33 {
34 
35  class VertexSurfData;
36  class Surface;
37 
41 class FMGEOMETRY_API Vertex : public Entity
42 {
43  public:
47  Vertex( const OdGePoint3d& ptPoint, Body* pBody );
48 
52  const OdGePoint3d& point() const;
53 
57  void setPoint( const OdGePoint3d& ptPoint );
58 
59  bool at( const Surface* pSurface ) const;
60 
61  void normal( const Face& atF, OdGeVector3d& normal ) const;
62 
63  void addSurfaceData( Surface* pSurface );
64 
65  void removeSurfaceData( Surface* pSurface );
66 
70  Vertex* prev() const;
71 
75  Vertex* next() const;
76 
78 
79  private:
80  Vertex();
81  Vertex(const Vertex&);
82  Vertex& operator=(const Vertex&);
83  Vertex* clone( Body& to ) const;
84 
85  public: // TEST TEST
87 
90  VertexSurfData* m_pSurfData;
91 
92  friend class Body;
93  friend class BodyImpl;
94 };
95 
96 }
97 
98 #endif //__FMMDL_VERTEX_H__
OdGeVector3d
Definition: GeVector3d.h:54
FacetModeler
Definition: FMContour2D.h:35
FacetModeler::Vertex::m_pPrev
Vertex * m_pPrev
Definition: FMMdlVertex.h:88
FacetModeler::Vertex::Vertex
Vertex(const OdGePoint3d &ptPoint, Body *pBody)
FacetModeler::Vertex::removeSurfaceData
void removeSurfaceData(Surface *pSurface)
FacetModeler::Vertex::normal
void normal(const Face &atF, OdGeVector3d &normal) const
FacetModeler::Surface
Definition: FMMdlSurface.h:40
FacetModeler::Vertex::addSurfaceData
void addSurfaceData(Surface *pSurface)
FacetModeler::Body
Definition: FMMdlBody.h:47
OdGePoint3d
Definition: GePoint3d.h:55
FacetModeler::Vertex::m_pNext
Vertex * m_pNext
Definition: FMMdlVertex.h:89
FacetModeler::Vertex::at
bool at(const Surface *pSurface) const
FMMdlEntity.h
FacetModeler::Vertex::m_pt
OdGePoint3d m_pt
Definition: FMMdlVertex.h:86
FacetModeler::Vertex::point
const OdGePoint3d & point() const
FacetModeler::Vertex::prev
Vertex * prev() const
FacetModeler::Vertex::m_pSurfData
VertexSurfData * m_pSurfData
Definition: FMMdlVertex.h:90
FacetModeler::Vertex::next
Vertex * next() const
FacetModeler::Face
Definition: FMMdlFace.h:47
FacetModeler::Vertex
Definition: FMMdlVertex.h:42
FacetModeler::Vertex::~Vertex
~Vertex()
FacetModeler::Entity
Definition: FMMdlEntity.h:41
FacetModeler::Vertex::setPoint
void setPoint(const OdGePoint3d &ptPoint)