| 1 | 
< | 
/* Copyright (c) 2008 The University of Notre Dame. All Rights Reserved. | 
| 1 | 
> | 
/* Copyright (c) 2008, 2010 The University of Notre Dame. All Rights Reserved. | 
| 2 | 
  | 
 * | 
| 3 | 
  | 
 * The University of Notre Dame grants you ("Licensee") a | 
| 4 | 
  | 
 * non-exclusive, royalty free, license to use, modify and | 
| 44 | 
  | 
 * | 
| 45 | 
  | 
 *  Created by Charles F. Vardeman II on 29 July 2008. | 
| 46 | 
  | 
 *  @author  Charles F. Vardeman II | 
| 47 | 
< | 
 *  @version $Id: Triangle.hpp,v 1.6 2009-11-25 20:02:01 gezelter Exp $ | 
| 47 | 
> | 
 *  @version $Id$ | 
| 48 | 
  | 
 * | 
| 49 | 
  | 
 */ | 
| 50 | 
  | 
 | 
| 79 | 
  | 
      normal_ = normal; | 
| 80 | 
  | 
      HaveNormal_ = true; | 
| 81 | 
  | 
    } | 
| 82 | 
+ | 
    void setUnitNormal(Vector3d normal) { | 
| 83 | 
+ | 
      unitnormal_ = normal; | 
| 84 | 
+ | 
      HaveUnitNormal_ = true; | 
| 85 | 
+ | 
    } | 
| 86 | 
  | 
 | 
| 87 | 
  | 
    void addVertices(Vector3d P1, Vector3d P2, Vector3d P3); | 
| 88 | 
  | 
 | 
| 104 | 
  | 
        return computeNormal(); | 
| 105 | 
  | 
      } | 
| 106 | 
  | 
    } | 
| 107 | 
+ | 
   Vector3d getUnitNormal() { | 
| 108 | 
+ | 
      if (HaveUnitNormal_) { | 
| 109 | 
+ | 
        return unitnormal_; | 
| 110 | 
+ | 
      } else { | 
| 111 | 
+ | 
        return computeUnitNormal(); | 
| 112 | 
+ | 
      } | 
| 113 | 
+ | 
    } | 
| 114 | 
  | 
     | 
| 115 | 
  | 
    RealType getArea() {  | 
| 116 | 
  | 
      if(HaveArea_){ | 
| 123 | 
  | 
    RealType computeArea(); | 
| 124 | 
  | 
    Vector3d computeNormal(); | 
| 125 | 
  | 
    Vector3d computeCentroid(); | 
| 126 | 
+ | 
    Vector3d computeUnitNormal(); | 
| 127 | 
  | 
 | 
| 128 | 
  | 
    void setCentroid(Vector3d centroid) {  | 
| 129 | 
  | 
      centroid_ = centroid; | 
| 202 | 
  | 
    /* Local Indentity of vertex atoms in pos array*/ | 
| 203 | 
  | 
    std::vector <StuntDouble*> vertexSD_; | 
| 204 | 
  | 
    Vector3d normal_; | 
| 205 | 
+ | 
    Vector3d unitnormal_; | 
| 206 | 
  | 
    Vector3d centroid_; | 
| 207 | 
  | 
    Vector3d vertices_[3]; | 
| 208 | 
< | 
    RealType area_; | 
| 208 | 
> | 
    RealType area_;     | 
| 209 | 
  | 
    RealType mass_; | 
| 210 | 
  | 
    Vector3d facetVelocity_; | 
| 211 | 
  | 
    //Length of triangle sides | 
| 213 | 
  | 
    RealType alpha_,beta_,gamma_; | 
| 214 | 
  | 
    bool HaveArea_; | 
| 215 | 
  | 
    bool HaveNormal_; | 
| 216 | 
+ | 
    bool HaveUnitNormal_; | 
| 217 | 
  | 
    bool HaveCentroid_; | 
| 218 | 
  | 
     | 
| 219 | 
  | 
  }; // End class Triangle |