本文整理汇总了C++中STK_Interface::addEntityToNodeset方法的典型用法代码示例。如果您正苦于以下问题:C++ STK_Interface::addEntityToNodeset方法的具体用法?C++ STK_Interface::addEntityToNodeset怎么用?C++ STK_Interface::addEntityToNodeset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类STK_Interface
的用法示例。
在下文中一共展示了STK_Interface::addEntityToNodeset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addNodeSets
void SculptMeshFactory::addNodeSets(STK_Interface & mesh) const
{
mesh.beginModification();
struct MeshStorageStruct *mss = get_sculpt_mesh();
int num_node_sets = mss->num_node_sets;
if (num_node_sets) {
int *node_set_id = new int[num_node_sets];
int *num_nodes_in_node_set = new int[num_node_sets];
int *num_df_in_node_set = new int[num_node_sets];
int **node_set_nodes = new int*[num_node_sets];
double **node_set_df = new double*[num_node_sets];
for(int ict = 0; ict < num_node_sets; ict ++){
node_set_id[ict] = mss->node_set_id[ict];
num_nodes_in_node_set[ict] = mss->num_nodes_in_node_set[ict];
num_df_in_node_set[ict] = mss->num_df_in_node_set[ict];
}
for(int i = 0; i < num_node_sets; i++) {
node_set_nodes[i] = new int[num_nodes_in_node_set[i]];
node_set_df[i] = NULL;
if(num_nodes_in_node_set[i]) {
for(int nct = 0; nct < num_nodes_in_node_set[i];nct ++){
node_set_nodes[i][nct] = mss->node_set_nodes[i][nct];
}
}
}
for(int i = 0; i < num_node_sets; i++) {
std::stringstream nodesetName;
nodesetName << "Nodeset-" << mss->node_set_id[i];
stk_classic::mesh::Part * nodeset = mesh.getNodeset(nodesetName.str());
for( int j = 0; j < num_nodes_in_node_set[i]; j++ )
{
int node_id = node_set_nodes[i][j];
Teuchos::RCP<stk_classic::mesh::BulkData> bulkData = mesh.getBulkData();
if(machRank_==0)
{
stk_classic::mesh::Entity * node = bulkData->get_entity(mesh.getNodeRank(),node_id);
mesh.addEntityToNodeset(*node, nodeset);
}
}
}
}
mesh.endModification();
}