Pointwise Plugin SDK
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CaeStrBlock.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * CaeStrBlock class
4  *
5  * (C) 2021 Cadence Design Systems, Inc. All rights reserved worldwide.
6  *
7  ***************************************************************************/
8 
9 #if !defined(PWGM_HIDE_STRUCTURED_API)
10 
11 #ifndef _CAESTRBLOCK_H_
12 #define _CAESTRBLOCK_H_
13 
14 
15 #include "apiGridModel.h"
16 #include "apiPWP.h"
17 #include "CaeStrGridModel.h"
18 
19 
71 class CaeStrBlock : public CaeBlock, public CaeStrConnectionGroup, public
73 public:
74 
76 
82  }
83 
85 
89  CaeStrBlock(PWGM_HBLOCK block) : CaeBlock(block) {
90  }
91 
93 
97  CaeStrBlock(const CaeStrBlock &src) : CaeBlock(src) {
98  }
99 
101 
105  CaeStrBlock(const CaeBlock &src) : CaeBlock(src) {
106  }
107 
109 
116  CaeBlock(model, ndx) {
117  }
118 
120  virtual ~CaeStrBlock() {
121  }
122 
126  }
127 
129 
141  bool data(PWGM_BLOCKDATA &data) const {
142  return 0 != PwBlock(block_, &data);
143  }
144 
146 
158  bool size(PWGM_STR_SIZE &size) const {
159  return 0 != PwBlkSize(block_, &size);
160  }
161 
163 
178  return 0 != PwBlkNdxVertData(block_, ndx3, &data);
179  }
180 
181 protected:
182 
185  virtual PWP_UINT32 connectionCountImpl() const {
187  }
188  virtual PWGM_HCNXN enumConnectionsImpl(PWP_UINT32 ndx) const {
189  return PwBlkEnumConnections(block_, ndx);
190  }
192 
194  virtual PWP_UINT32 boundaryCountImpl() const {
195  return PwBlkBoundaryCount(block_);
196  }
197  virtual PWGM_HBNDRY enumBoundariesImpl(PWP_UINT32 ndx) const {
198  return PwBlkEnumBoundaries(block_, ndx);
199  }
202 };
203 
204 #endif // _CAESTRBLOCK_H_
205 
206 #endif // PWGM_HIDE_STRUCTURED_API
bool ndxVertData(PWGM_INDEX3 ndx3, PWGM_VERTDATA &data) const
Get the block's vertex data at the given index location.
Definition: CaeStrBlock.h:177
bool size(PWGM_STR_SIZE &size) const
Gets the structured ijk size of the block's vertices.
Definition: CaeStrBlock.h:158
The structured block class.
Definition: CaeStrBlock.h:71
unsigned int PWP_UINT32
32-bit unsigned integer
Definition: apiPWP.h:210
Pointwise Plugin API (PWP-API)
CaeStrBlock(const CaeBlock &src)
CaeBlock constructor.
Definition: CaeStrBlock.h:105
bool data(PWGM_BLOCKDATA &data) const
Gets information about the block.
Definition: CaeStrBlock.h:141
PWGM_HBNDRY PwBlkEnumBoundaries(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block's boundaries.
Pointwise Grid Model API Specification (PWGM-API)
PWP_UINT32 PwBlkBoundaryCount(PWGM_HBLOCK block)
Get the number of boundaries in the block.
PWGM_HBLOCK block_
The bound PWGM_HBLOCK.
Definition: CaeGridModel.h:415
virtual PWGM_HCNXN enumConnectionsImpl(PWP_UINT32 ndx) const =0
Get a connection in the group.
#define PWGM_HBLOCK_MODEL(h)
gets the element's parent PWGM_HGRIDMODEL handle
Definition: apiGridModel.h:368
CaeStrGridModel model() const
Gets the structured grid model of which this block is a member.
Definition: CaeStrBlock.h:124
The grid block base class.
Definition: CaeGridModel.h:174
Block data type.
Definition: apiGridModel.h:976
CaeStrBlock()
Default constructor.
Definition: CaeStrBlock.h:81
An opaque handle to a structured block boundary.
Definition: apiGridModel.h:457
An opaque handle to a structured, inter-block connection.
Definition: apiGridModel.h:482
virtual ~CaeStrBlock()
Destructor.
Definition: CaeStrBlock.h:120
virtual PWP_UINT32 connectionCountImpl() const =0
Get the number of connections in the group.
The structured boundary group class.
PWP_UINT32 PwBlkConnectionCount(PWGM_HBLOCK block)
Get the number of connections in the block.
CaeStrBlock(const CaeStrBlock &src)
Copy constructor.
Definition: CaeStrBlock.h:97
Structured grid ijk index data type.
Definition: apiGridModel.h:859
Vertex descriptor data type.
Definition: apiGridModel.h:607
CaeStrBlock(PWGM_HBLOCK block)
Block handle constructor.
Definition: CaeStrBlock.h:89
PWP_BOOL PwBlkNdxVertData(PWGM_HBLOCK block, PWGM_INDEX3 ndx3, PWGM_VERTDATA *pVertData)
Get the block's vertex data at the given index location.
virtual PWGM_HBNDRY enumBoundariesImpl(PWP_UINT32 ndx) const =0
Get a boundary in the group.
virtual PWP_UINT32 boundaryCountImpl() const =0
Get the number of boundaries in the group.
PWGM_HCNXN PwBlkEnumConnections(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block's connections.
PWP_BOOL PwBlock(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData)
Get the block data.
The structured block to block connection group class.
The structured grid model class.
An opaque handle to a grid block element.
Definition: apiGridModel.h:345
CaeStrBlock(const CaeStrGridModel &model, PWP_UINT32 ndx=0)
Model and block index constructor.
Definition: CaeStrBlock.h:115
PWGM_INDEX3 PW_DLL_IMPEXP PWGM_STR_SIZE
Structured grid ijk size data type.
Definition: apiGridModel.h:875
PWP_BOOL PwBlkSize(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize)
Get the block's vertex-size.