Pointwise Plugin SDK
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
PwBlkNdxVertData
PWP_BOOL PwBlkNdxVertData(PWGM_HBLOCK block, PWGM_INDEX3 ndx3, PWGM_VERTDATA *pVertData)
Get the block's vertex data at the given index location.
Definition: apiGridModel.cxx:546
CaeStrBlock::ndxVertData
bool ndxVertData(PWGM_INDEX3 ndx3, PWGM_VERTDATA &data) const
Get the block's vertex data at the given index location.
Definition: CaeStrBlock.h:177
PWP_UINT32
unsigned int PWP_UINT32
32-bit unsigned integer
Definition: apiPWP.h:210
CaeStrConnectionGroup::enumConnectionsImpl
virtual PWGM_HCNXN enumConnectionsImpl(PWP_UINT32 ndx) const =0
Get a connection in the group.
PwBlock
PWP_BOOL PwBlock(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData)
Get the block data.
Definition: apiGridModel.cxx:108
CaeStrConnectionGroup::connectionCountImpl
virtual PWP_UINT32 connectionCountImpl() const =0
Get the number of connections in the group.
CaeStrBlock::CaeStrBlock
CaeStrBlock(const CaeBlock &src)
CaeBlock constructor.
Definition: CaeStrBlock.h:105
PwBlkSize
PWP_BOOL PwBlkSize(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize)
Get the block's vertex-size.
Definition: apiGridModel.cxx:538
CaeStrBlock::data
bool data(PWGM_BLOCKDATA &data) const
Gets information about the block.
Definition: CaeStrBlock.h:141
PWGM_HCNXN
An opaque handle to a structured, inter-block connection.
Definition: apiGridModel.h:482
CaeBlock::block_
PWGM_HBLOCK block_
The bound PWGM_HBLOCK.
Definition: CaeGridModel.h:415
apiGridModel.h
Pointwise Grid Model API Specification (PWGM-API)
PWGM_INDEX3
Structured grid ijk index data type.
Definition: apiGridModel.h:888
CaeStrBlock
The structured block class.
Definition: CaeStrBlock.h:72
CaeStrBlock::CaeStrBlock
CaeStrBlock(PWGM_HBLOCK block)
Block handle constructor.
Definition: CaeStrBlock.h:89
CaeStrBlock::model
CaeStrGridModel model() const
Gets the structured grid model of which this block is a member.
Definition: CaeStrBlock.h:124
CaeStrBoundaryGroup::boundaryCountImpl
virtual PWP_UINT32 boundaryCountImpl() const =0
Get the number of boundaries in the group.
PwBlkEnumConnections
PWGM_HCNXN PwBlkEnumConnections(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block's connections.
Definition: apiGridModel.cxx:587
PWGM_HBLOCK_MODEL
#define PWGM_HBLOCK_MODEL(h)
gets the element's parent PWGM_HGRIDMODEL handle
Definition: apiGridModel.h:368
PWGM_VERTDATA
Vertex descriptor data type.
Definition: apiGridModel.h:607
PwBlkEnumBoundaries
PWGM_HBNDRY PwBlkEnumBoundaries(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block's boundaries.
Definition: apiGridModel.cxx:571
PWGM_HBLOCK
An opaque handle to a grid block element.
Definition: apiGridModel.h:345
PWGM_BLOCKDATA
Block data type.
Definition: apiGridModel.h:1005
CaeStrBlock::CaeStrBlock
CaeStrBlock()
Default constructor.
Definition: CaeStrBlock.h:81
CaeStrGridModel
The structured grid model class.
Definition: CaeStrGridModel.h:66
CaeStrConnectionGroup
The structured block to block connection group class.
Definition: CaeStrConnectionGroup.h:45
CaeStrBlock::~CaeStrBlock
virtual ~CaeStrBlock()
Destructor.
Definition: CaeStrBlock.h:120
PwBlkConnectionCount
PWP_UINT32 PwBlkConnectionCount(PWGM_HBLOCK block)
Get the number of connections in the block.
Definition: apiGridModel.cxx:579
CaeStrBlock::CaeStrBlock
CaeStrBlock(const CaeStrBlock &src)
Copy constructor.
Definition: CaeStrBlock.h:97
CaeStrBlock::CaeStrBlock
CaeStrBlock(const CaeStrGridModel &model, PWP_UINT32 ndx=0)
Model and block index constructor.
Definition: CaeStrBlock.h:115
PWGM_HBNDRY
An opaque handle to a structured block boundary.
Definition: apiGridModel.h:457
PWGM_STR_SIZE
PWGM_INDEX3 PW_DLL_IMPEXP PWGM_STR_SIZE
Structured grid ijk size data type.
Definition: apiGridModel.h:904
CaeStrBoundaryGroup::enumBoundariesImpl
virtual PWGM_HBNDRY enumBoundariesImpl(PWP_UINT32 ndx) const =0
Get a boundary in the group.
PwBlkBoundaryCount
PWP_UINT32 PwBlkBoundaryCount(PWGM_HBLOCK block)
Get the number of boundaries in the block.
Definition: apiGridModel.cxx:563
apiPWP.h
Pointwise Plugin API (PWP-API)
CaeStrGridModel.h
CaeBlock
The grid block base class.
Definition: CaeGridModel.h:174
CaeStrBoundaryGroup
The structured boundary group class.
Definition: CaeStrBoundaryGroup.h:45
CaeStrBlock::size
bool size(PWGM_STR_SIZE &size) const
Gets the structured ijk size of the block's vertices.
Definition: CaeStrBlock.h:158