65 const std::vector<std::size_t> & cell_local_ids,
66 Array & orientationsArray)
const
68 int fieldNum = globalIndexer_->getFieldNum(fieldName_);
69 const std::vector<int> & elmtOffset = globalIndexer_->getGIDFieldOffsets(blockId,fieldNum);
72 for(std::size_t cellIndex=0;cellIndex<cell_local_ids.size();++cellIndex) {
73 std::vector<double> orientation;
74 std::size_t cellLocalId = cell_local_ids[cellIndex];
76 globalIndexer_->getElementOrientation(cellLocalId,orientation);
79 for(std::size_t basis=0;basis<elmtOffset.size();basis++) {
80 int offset = elmtOffset[basis];
81 orientationsArray(cellIndex,basis) = orientation[offset];
89 const std::string & fieldName)
91 using Teuchos::rcp_dynamic_cast;
100 RCP<const GlobalIndexer> ugi
101 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
102 if(ugi!=Teuchos::null)
109 typedef panzer::GlobalOrdinal GO;
111 RCP<const GlobalIndexer> ugi
112 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
113 if(ugi!=Teuchos::null)
120 typedef std::pair<int,int> GO;
122 RCP<const GlobalIndexer> ugi
123 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
124 if(ugi!=Teuchos::null)
131 typedef std::pair<int,panzer::GlobalOrdinal> GO;
133 RCP<const GlobalIndexer> ugi
134 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
135 if(ugi!=Teuchos::null)
139 TEUCHOS_TEST_FOR_EXCEPTION(
true,std::logic_error,
140 "panzer::buildOrientationContainer: Could not cast GlobalIndexer");