Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | Friends | List of all members
Nektar::NekMeshUtils::CADVert Class Reference

class for CAD curves. More...

#include <CADVert.h>

Inheritance diagram for Nektar::NekMeshUtils::CADVert:
Inheritance graph
[legend]
Collaboration diagram for Nektar::NekMeshUtils::CADVert:
Collaboration graph
[legend]

Public Member Functions

 CADVert (int i, TopoDS_Shape in)
 Default constructor. More...
 
 ~CADVert ()
 
Array< OneD, NekDoubleGetLoc ()
 Get x,y,z location of the vertex. More...
 
NodeSharedPtr GetNode ()
 returns a node object of the cad vertex More...
 
void SetDegen (int s, CADSurfSharedPtr su, NekDouble u, NekDouble v)
 if the vertex is degenerate manually set uv for that surface More...
 
int IsDegen ()
 query is degenerate More...
 
- Public Member Functions inherited from Nektar::NekMeshUtils::CADObj
 CADObj ()
 Default constructor. More...
 
virtual ~CADObj ()
 
int GetId ()
 Return ID of the vertex. More...
 
cadType GetType ()
 

Private Attributes

gp_Pnt m_occVert
 OpenCascade object of the curve. More...
 
NodeSharedPtr m_node
 mesh convert object of vert More...
 
bool degen
 degen marker More...
 
int degensurf
 

Friends

class MemoryManager< CADVert >
 

Additional Inherited Members

- Protected Attributes inherited from Nektar::NekMeshUtils::CADObj
int m_id
 ID of the vert. More...
 
cadType m_type
 type of the cad object More...
 

Detailed Description

class for CAD curves.

This class wraps the OpenCascade BRepAdaptor_Curve class for use with Nektar++.

Definition at line 59 of file CADVert.h.

Constructor & Destructor Documentation

Nektar::NekMeshUtils::CADVert::CADVert ( int  i,
TopoDS_Shape  in 
)
inline

Default constructor.

Definition at line 67 of file CADVert.h.

References degen, Nektar::NekMeshUtils::CADObj::m_id, m_node, m_occVert, Nektar::NekMeshUtils::CADObj::m_type, and Nektar::NekMeshUtils::vert.

68  {
69  gp_Trsf transform;
70  gp_Pnt ori(0.0, 0.0, 0.0);
71  transform.SetScale(ori, 1.0 / 1000.0);
72  TopLoc_Location mv(transform);
73  in.Move(mv);
74 
75  m_id = i;
76  m_occVert = BRep_Tool::Pnt(TopoDS::Vertex(in));
77 
78  m_node = boost::shared_ptr<Node>(
79  new Node(i - 1, m_occVert.X(), m_occVert.Y(), m_occVert.Z()));
80  degen = false;
81 
82  m_type = vert;
83  }
NodeSharedPtr m_node
mesh convert object of vert
Definition: CADVert.h:139
int m_id
ID of the vert.
Definition: CADObj.h:91
gp_Pnt m_occVert
OpenCascade object of the curve.
Definition: CADVert.h:137
cadType m_type
type of the cad object
Definition: CADObj.h:93
bool degen
degen marker
Definition: CADVert.h:141
Nektar::NekMeshUtils::CADVert::~CADVert ( )
inline

Definition at line 85 of file CADVert.h.

85 {};

Member Function Documentation

Array<OneD, NekDouble> Nektar::NekMeshUtils::CADVert::GetLoc ( )
inline

Get x,y,z location of the vertex.

Definition at line 90 of file CADVert.h.

References m_occVert.

91  {
92  Array<OneD, NekDouble> out(3);
93  out[0] = m_occVert.X();
94  out[1] = m_occVert.Y();
95  out[2] = m_occVert.Z();
96  return out;
97  }
gp_Pnt m_occVert
OpenCascade object of the curve.
Definition: CADVert.h:137
NodeSharedPtr Nektar::NekMeshUtils::CADVert::GetNode ( )
inline

returns a node object of the cad vertex

Definition at line 102 of file CADVert.h.

References m_node.

103  {
104  return m_node;
105  }
NodeSharedPtr m_node
mesh convert object of vert
Definition: CADVert.h:139
int Nektar::NekMeshUtils::CADVert::IsDegen ( )
inline

query is degenerate

Definition at line 123 of file CADVert.h.

References degen, and degensurf.

124  {
125  if (degen)
126  {
127  return degensurf;
128  }
129  else
130  {
131  return -1;
132  }
133  }
bool degen
degen marker
Definition: CADVert.h:141
void Nektar::NekMeshUtils::CADVert::SetDegen ( int  s,
CADSurfSharedPtr  su,
NekDouble  u,
NekDouble  v 
)
inline

if the vertex is degenerate manually set uv for that surface

Definition at line 110 of file CADVert.h.

References degen, degensurf, and m_node.

111  {
112  degen = true;
113  degensurf = s;
114  Array<OneD, NekDouble> uv(2);
115  uv[0] = u;
116  uv[1] = v;
117  m_node->SetCADSurf(s, su, uv);
118  }
NodeSharedPtr m_node
mesh convert object of vert
Definition: CADVert.h:139
bool degen
degen marker
Definition: CADVert.h:141

Friends And Related Function Documentation

friend class MemoryManager< CADVert >
friend

Definition at line 62 of file CADVert.h.

Member Data Documentation

bool Nektar::NekMeshUtils::CADVert::degen
private

degen marker

Definition at line 141 of file CADVert.h.

Referenced by CADVert(), IsDegen(), and SetDegen().

int Nektar::NekMeshUtils::CADVert::degensurf
private

Definition at line 143 of file CADVert.h.

Referenced by IsDegen(), and SetDegen().

NodeSharedPtr Nektar::NekMeshUtils::CADVert::m_node
private

mesh convert object of vert

Definition at line 139 of file CADVert.h.

Referenced by CADVert(), GetNode(), and SetDegen().

gp_Pnt Nektar::NekMeshUtils::CADVert::m_occVert
private

OpenCascade object of the curve.

Definition at line 137 of file CADVert.h.

Referenced by CADVert(), and GetLoc().