33 const std::vector<std::size_t> & cell_local_ids,
34 Array & orientationsArray)
const
36 int fieldNum = globalIndexer_->getFieldNum(fieldName_);
37 const std::vector<int> & elmtOffset = globalIndexer_->getGIDFieldOffsets(blockId,fieldNum);
40 for(std::size_t cellIndex=0;cellIndex<cell_local_ids.size();++cellIndex) {
41 std::vector<double> orientation;
42 std::size_t cellLocalId = cell_local_ids[cellIndex];
44 globalIndexer_->getElementOrientation(cellLocalId,orientation);
47 for(std::size_t basis=0;basis<elmtOffset.size();basis++) {
48 int offset = elmtOffset[basis];
49 orientationsArray(cellIndex,basis) = orientation[offset];
57 const std::string & fieldName)
59 using Teuchos::rcp_dynamic_cast;
68 RCP<const GlobalIndexer> ugi
69 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
70 if(ugi!=Teuchos::null)
77 typedef panzer::GlobalOrdinal GO;
79 RCP<const GlobalIndexer> ugi
80 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
81 if(ugi!=Teuchos::null)
88 typedef std::pair<int,int> GO;
90 RCP<const GlobalIndexer> ugi
91 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
92 if(ugi!=Teuchos::null)
99 typedef std::pair<int,panzer::GlobalOrdinal> GO;
101 RCP<const GlobalIndexer> ugi
102 = rcp_dynamic_cast<const GlobalIndexer>(globalIndexer);
103 if(ugi!=Teuchos::null)
107 TEUCHOS_TEST_FOR_EXCEPTION(
true,std::logic_error,
108 "panzer::buildOrientationContainer: Could not cast GlobalIndexer");