Exemplo n.º 1
0
GsTLPoint Simple_RGrid_geometry::coordinates(GsTLInt i, GsTLInt j, GsTLInt k) {
  GsTLCoord x = origin_.x() + GsTLCoord(i)*cell_dims_.x() ; 
  GsTLCoord y = origin_.y() + GsTLCoord(j)*cell_dims_.y() ; 
  GsTLCoord z = origin_.z() + GsTLCoord(k)*cell_dims_.z() ; 

  return GsTLPoint(x, y, z);
}
GsTLPoint Simple_RGrid_geometry::coordinates(GsTLInt i, GsTLInt j, GsTLInt k) const {
  
  GsTLCoord dx = GsTLCoord(i)*cell_dims_.x() ;
  GsTLCoord dy = GsTLCoord(j)*cell_dims_.y() ;
  
  GsTLCoord x = origin_.x() + dx*z_cos_angle_ - dy*z_sin_angle_; 
  GsTLCoord y = origin_.y() + dx*z_sin_angle_ + dy*z_cos_angle_ ; 
  GsTLCoord z = origin_.z() + GsTLCoord(k)*cell_dims_.z() ; 

  /*
  GsTLCoord x = origin_.x() + GsTLCoord(i)*cell_dims_.x() ; 
  GsTLCoord y = origin_.y() + GsTLCoord(j)*cell_dims_.y() ; 
  GsTLCoord z = origin_.z() + GsTLCoord(k)*cell_dims_.z() ; 
  */
  return GsTLPoint(x, y, z);
}