Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
C3Vector Class Reference

/brief Cartesian 3 Vector More...

#include <GeoPrimitives.H>

Public Member Functions

 C3Vector ()
 
 C3Vector (const GeoPrim::CVector &inv)
 
 C3Vector (const CPoint &inp)
 
 C3Vector (double ix, double iy, double iz=0.0)
 
 C3Vector (const C3Vector &p1, const C3Vector &p2)
 
 C3Vector (double *a)
 
 C3Vector (const double *a)
 
 C3Vector (const C3Vector &v)
 
 ~C3Vector ()
 
C3VectorCopy (const C3Vector &v)
 
C3VectorInit (const double *a)
 
C3VectorInit (const C3Vector &v)
 
C3VectorInit (double ix, double iy, double iz)
 
C3VectorInit (const C3Vector &p1, const C3Vector &p2)
 
C3VectorInit ()
 
C3VectorClear ()
 
double Norm () const
 
double Mag () const
 
double Mag2 () const
 
C3VectorNormalize ()
 
C3Vector Unit () const
 
double operator* (const C3Vector &v2) const
 Dot Product. More...
 
C3Vector operator* (double num) const
 Scaling. More...
 
C3Vectoroperator*= (double num)
 
C3Vector operator% (const C3Vector &v2) const
 Cross Product. More...
 
C3Vectoroperator= (const C3Vector &v2)
 
C3Vectoroperator%= (const C3Vector &v2)
 
C3Vector operator+ (const C3Vector &v2) const
 
C3Vector operator- (const C3Vector &v2) const
 
C3Vectoroperator+= (const C3Vector &v2)
 
C3Vectoroperator-= (const C3Vector &v2)
 
double & x ()
 
double x () const
 
C3Vectorx (double i)
 
double & y ()
 
double y () const
 
C3Vectory (double i)
 
double & z ()
 
double z () const
 
C3Vectorz (double i)
 
const double & operator[] (unsigned int i) const
 
double & operator[] (unsigned int i)
 
bool operator== (const C3Vector &v) const
 
bool operator< (const C3Vector &v) const
 
bool operator> (const C3Vector &v) const
 
bool operator<= (const C3Vector &v) const
 
bool operator>= (const C3Vector &v) const
 
void DestroyData ()
 
void SetData (double *d)
 

Protected Attributes

double * V
 

Private Member Functions

void _create ()
 
void _destroy ()
 

Private Attributes

bool _mydata
 

Friends

C3Vector operator* (double, const C3Vector &)
 
std::ostream & operator<< (std::ostream &, const C3Vector &)
 
std::istream & operator>> (std::istream &, C3Vector &)
 

Detailed Description

/brief Cartesian 3 Vector

Definition at line 468 of file GeoPrimitives.H.

Constructor & Destructor Documentation

C3Vector ( )
inline

Definition at line 477 of file GeoPrimitives.H.

References C3Vector::_create(), and C3Vector::V.

478  {
479  _create();
480  V[0] = V[1] = V[2] = 0.;
481  };

Here is the call graph for this function:

C3Vector ( const GeoPrim::CVector inv)
inline

Definition at line 482 of file GeoPrimitives.H.

References C3Vector::_create(), C3Vector::V, CVector::x(), CVector::y(), and CVector::z().

483  {
484  _create();
485  V[0] = inv.x();
486  V[1] = inv.y();
487  V[2] = inv.z();
488  };

Here is the call graph for this function:

C3Vector ( const CPoint inp)
inline

Definition at line 489 of file GeoPrimitives.H.

References C3Vector::_create(), C3Vector::V, CPoint::x(), CPoint::y(), and CPoint::z().

490  {
491  _create();
492  V[0] = inp.x();
493  V[1] = inp.y();
494  V[2] = inp.z();
495  };

Here is the call graph for this function:

C3Vector ( double  ix,
double  iy,
double  iz = 0.0 
)
inline

Definition at line 496 of file GeoPrimitives.H.

References C3Vector::_create(), and C3Vector::V.

497  {
498  _create();
499  V[0] = ix;
500  V[1] = iy;
501  V[2] = iz;
502  };

Here is the call graph for this function:

C3Vector ( const C3Vector p1,
const C3Vector p2 
)
inline

Definition at line 503 of file GeoPrimitives.H.

References C3Vector::_create(), and C3Vector::Copy().

504  {
505  _create();
506  Copy(p2-p1);
507  };
NT p1
C3Vector & Copy(const C3Vector &v)

Here is the call graph for this function:

C3Vector ( double *  a)
inline

Definition at line 508 of file GeoPrimitives.H.

References C3Vector::_mydata, and C3Vector::V.

509  {
510  _mydata = false;
511  V = a;
512  };
C3Vector ( const double *  a)
inline

Definition at line 513 of file GeoPrimitives.H.

References C3Vector::_create(), and C3Vector::V.

514  {
515  _create();
516  V[0] = a[0];
517  V[1] = a[1];
518  V[2] = a[2];
519  };

Here is the call graph for this function:

C3Vector ( const C3Vector v)
inline

Definition at line 520 of file GeoPrimitives.H.

References C3Vector::_create(), and C3Vector::Copy().

521  {
522  _create();
523  Copy(v);
524  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
C3Vector & Copy(const C3Vector &v)

Here is the call graph for this function:

~C3Vector ( )
inline

Definition at line 525 of file GeoPrimitives.H.

References C3Vector::_destroy().

526  {
527  _destroy();
528  };

Here is the call graph for this function:

Member Function Documentation

void _create ( )
inlineprivate

Definition at line 748 of file GeoPrimitives.H.

References C3Vector::_mydata, and C3Vector::V.

Referenced by C3Vector::C3Vector().

749  {
750  V = new double [3];
751  _mydata = true;
752  };

Here is the caller graph for this function:

void _destroy ( )
inlineprivate

Definition at line 753 of file GeoPrimitives.H.

References C3Vector::_mydata, and C3Vector::V.

Referenced by C3Vector::DestroyData(), and C3Vector::~C3Vector().

754  {
755  if(_mydata){
756  delete [] V;
757  _mydata = false;
758  V = NULL;
759  }
760  };

Here is the caller graph for this function:

C3Vector& Clear ( )
inline

Definition at line 567 of file GeoPrimitives.H.

References C3Vector::V.

568  {
569  V[0] = V[1] = V[2] = 0.0;
570  return(*this);
571  };
C3Vector& Copy ( const C3Vector v)
inline

Definition at line 529 of file GeoPrimitives.H.

References C3Vector::V.

Referenced by C3Facet::_copycreate_point(), C3Vector::C3Vector(), C3Vector::Init(), and C3Vector::operator=().

530  {
531  V[0] = v.V[0];
532  V[1] = v.V[1];
533  V[2] = v.V[2];
534  return(*this);
535  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20

Here is the caller graph for this function:

void DestroyData ( )
inline

Definition at line 742 of file GeoPrimitives.H.

References C3Vector::_destroy().

742 { _destroy(); };

Here is the call graph for this function:

C3Vector& Init ( const double *  a)
inline

Definition at line 536 of file GeoPrimitives.H.

References C3Vector::V.

Referenced by Mesh::GenericElement::Centroid().

537  {
538  V[0] = a[0];
539  V[1] = a[1];
540  V[2] = a[2];
541  return(*this);
542  };

Here is the caller graph for this function:

C3Vector& Init ( const C3Vector v)
inline

Definition at line 543 of file GeoPrimitives.H.

References C3Vector::V.

544  {
545  V[0] = v[0];
546  V[1] = v[1];
547  V[2] = v[2];
548  return(*this);
549  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
C3Vector& Init ( double  ix,
double  iy,
double  iz 
)
inline

Definition at line 550 of file GeoPrimitives.H.

References C3Vector::V.

551  {
552  V[0] = ix;
553  V[1] = iy;
554  V[2] = iz;
555  return(*this);
556  };
C3Vector& Init ( const C3Vector p1,
const C3Vector p2 
)
inline

Definition at line 557 of file GeoPrimitives.H.

References C3Vector::Copy().

558  {
559  Copy(p2 - p1);
560  return(*this);
561  };
NT p1
C3Vector & Copy(const C3Vector &v)

Here is the call graph for this function:

C3Vector& Init ( )
inline

Definition at line 562 of file GeoPrimitives.H.

References C3Vector::V.

563  {
564  V[0] = V[1] = V[2] = 0.0;
565  return(*this);
566  };
double Mag ( ) const
inline

Definition at line 576 of file GeoPrimitives.H.

References C3Vector::Norm().

Referenced by GeoPrim::Distance().

577  {
578  return (Norm());
579  };
double Norm() const

Here is the call graph for this function:

Here is the caller graph for this function:

double Mag2 ( ) const
inline

Definition at line 580 of file GeoPrimitives.H.

References C3Vector::V.

Referenced by C3Vector::operator<(), and C3Vector::operator>().

581  {
582  return ((V[0]*V[0])+(V[1]*V[1])+(V[2]*V[2]));
583  };

Here is the caller graph for this function:

double Norm ( ) const
inline

Definition at line 572 of file GeoPrimitives.H.

References sqrt(), and C3Vector::V.

Referenced by C3Vector::Mag(), and C3Vector::Normalize().

573  {
574  return(sqrt((V[0] * V[0]) + (V[1] * V[1]) + (V[2] * V[2])));
575  };
double sqrt(double d)
Definition: double.h:73

Here is the call graph for this function:

Here is the caller graph for this function:

C3Vector& Normalize ( )
inline

Definition at line 584 of file GeoPrimitives.H.

References n, C3Vector::Norm(), and C3Vector::V.

Referenced by C3Plane::C3Plane(), and C3Vector::Unit().

585  {
586  double n = Norm();
587  V[0] /= n;
588  V[1] /= n;
589  V[2] /= n;
590  return(*this);
591  };
double Norm() const
const NT & n

Here is the call graph for this function:

Here is the caller graph for this function:

C3Vector operator% ( const C3Vector v2) const
inline

Cross Product.

Definition at line 624 of file GeoPrimitives.H.

References v, and C3Vector::V.

625  {
626  C3Vector v;
627  v.V[0] = ((v2.V[2] * V[1]) - (v2.V[1] * V[2]));
628  v.V[1] = ((v2.V[0] * V[2]) - (v2.V[2] * V[0]));
629  v.V[2] = ((v2.V[1] * V[0]) - (v2.V[0] * V[1]));
630  return(v);
631  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
C3Vector& operator%= ( const C3Vector v2)
inline

Definition at line 636 of file GeoPrimitives.H.

References C3Vector::V.

637  {
638  double t0 = V[0];
639  double t1 = V[1];
640  double t2 = V[2];
641  V[0] = ((v2.V[2] * t1) - (v2.V[1] * t2));
642  V[1] = ((v2.V[0] * t2) - (v2.V[2] * t0));
643  V[2] = ((v2.V[1] * t0) - (v2.V[0] * t1));
644  return(*this);
645  };
double operator* ( const C3Vector v2) const
inline

Dot Product.

Definition at line 600 of file GeoPrimitives.H.

References C3Vector::V.

601  {
602  return((V[0] * v2.V[0]) +
603  (V[1] * v2.V[1]) +
604  (V[2] * v2.V[2]));
605  };
C3Vector operator* ( double  num) const
inline

Scaling.

Definition at line 609 of file GeoPrimitives.H.

References C3Vector::V.

610  {
611  C3Vector rv(num*V[0],num*V[1],num*V[2]);
612  return(rv);
613  };
C3Vector& operator*= ( double  num)
inline

Definition at line 614 of file GeoPrimitives.H.

References C3Vector::V.

615  {
616  V[0] *= num;
617  V[1] *= num;
618  V[2] *= num;
619  return(*this);
620  };
C3Vector operator+ ( const C3Vector v2) const
inline

Definition at line 646 of file GeoPrimitives.H.

References v, and C3Vector::V.

647  {
648  C3Vector v(V[0] + v2.V[0], V[1] + v2.V[1], V[2] + v2.V[2]);
649  return(v);
650  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
C3Vector& operator+= ( const C3Vector v2)
inline

Definition at line 655 of file GeoPrimitives.H.

References C3Vector::V.

656  {
657  V[0] += v2.V[0];
658  V[1] += v2.V[1];
659  V[2] += v2.V[2];
660  return(*this);
661  };
C3Vector operator- ( const C3Vector v2) const
inline

Definition at line 651 of file GeoPrimitives.H.

652  {
653  return((*this) + (-1.0 * v2));
654  };
C3Vector& operator-= ( const C3Vector v2)
inline

Definition at line 662 of file GeoPrimitives.H.

References C3Vector::V.

663  {
664  V[0] -= v2.V[0];
665  V[1] -= v2.V[1];
666  V[2] -= v2.V[2];
667  return(*this);
668  };
bool operator< ( const C3Vector v) const
inline

Definition at line 724 of file GeoPrimitives.H.

References C3Vector::Mag2().

725  {
726  return (Mag2() < v.Mag2());
727  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
double Mag2() const

Here is the call graph for this function:

bool operator<= ( const C3Vector v) const
inline

Definition at line 732 of file GeoPrimitives.H.

733  {
734  return ( (*this < v) ||
735  (*this == v));
736  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
C3Vector& operator= ( const C3Vector v2)
inline

Definition at line 632 of file GeoPrimitives.H.

References C3Vector::Copy().

633  {
634  return(Copy(v2));
635  };
C3Vector & Copy(const C3Vector &v)

Here is the call graph for this function:

bool operator== ( const C3Vector v) const
inline

Definition at line 718 of file GeoPrimitives.H.

References GeoPrim::TOL, and C3Vector::V.

719  {
720  return( (fabs(V[0] - v.V[0]) < TOL) &&
721  (fabs(V[1] - v.V[1]) < TOL) &&
722  (fabs(V[2] - v.V[2]) < TOL) );
723  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
const double TOL
Definition: GeoPrimitives.H:17
bool operator> ( const C3Vector v) const
inline

Definition at line 728 of file GeoPrimitives.H.

References C3Vector::Mag2().

729  {
730  return (Mag2() > v.Mag2());
731  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
double Mag2() const

Here is the call graph for this function:

bool operator>= ( const C3Vector v) const
inline

Definition at line 737 of file GeoPrimitives.H.

738  {
739  return ( (*this > v) ||
740  (*this == v) );
741  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
const double& operator[] ( unsigned int  i) const
inline

Definition at line 708 of file GeoPrimitives.H.

References C3Vector::V.

709  {
710  assert(i>0 && i<4);
711  return(V[i-1]);
712  };
blockLoc i
Definition: read.cpp:79
double& operator[] ( unsigned int  i)
inline

Definition at line 713 of file GeoPrimitives.H.

References C3Vector::V.

714  {
715  assert(i>0 && i<4);
716  return(V[i-1]);
717  };
blockLoc i
Definition: read.cpp:79
void SetData ( double *  d)
inline

Definition at line 743 of file GeoPrimitives.H.

References C3Vector::_mydata, d, and C3Vector::V.

743  {
744  V = d;
745  _mydata = false;
746  };
const NT & d
C3Vector Unit ( ) const
inline

Definition at line 592 of file GeoPrimitives.H.

References C3Vector::Normalize(), and v.

Referenced by C3Plane::operator==().

593  {
594  C3Vector v(*this);
595  return(v.Normalize());
596  };
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20

Here is the call graph for this function:

Here is the caller graph for this function:

double& x ( )
inline

Definition at line 669 of file GeoPrimitives.H.

References C3Vector::V.

Referenced by C3Plane::A(), C3Plane::C3Plane(), C3Plane::contains_point(), C3Plane::D(), GeoPrim::Distance(), and GeoPrim::operator<<().

670  {
671  return(V[0]);
672  };

Here is the caller graph for this function:

double x ( ) const
inline

Definition at line 673 of file GeoPrimitives.H.

References C3Vector::V.

674  {
675  return(V[0]);
676  };
C3Vector& x ( double  i)
inline

Definition at line 677 of file GeoPrimitives.H.

References i, and C3Vector::V.

678  {
679  V[0] = i;
680  return(*this);
681  };
blockLoc i
Definition: read.cpp:79
double& y ( )
inline

Definition at line 682 of file GeoPrimitives.H.

References C3Vector::V.

Referenced by C3Plane::B(), C3Plane::C3Plane(), C3Plane::contains_point(), C3Plane::D(), GeoPrim::Distance(), and GeoPrim::operator<<().

683  {
684  return(V[1]);
685  };

Here is the caller graph for this function:

double y ( ) const
inline

Definition at line 686 of file GeoPrimitives.H.

References C3Vector::V.

687  {
688  return(V[1]);
689  };
C3Vector& y ( double  i)
inline

Definition at line 690 of file GeoPrimitives.H.

References i, and C3Vector::V.

691  {
692  V[1] = i;
693  return(*this);
694  };
blockLoc i
Definition: read.cpp:79
double& z ( )
inline

Definition at line 695 of file GeoPrimitives.H.

References C3Vector::V.

Referenced by C3Plane::C(), C3Plane::C3Plane(), C3Plane::contains_point(), C3Plane::D(), GeoPrim::Distance(), and GeoPrim::operator<<().

696  {
697  return(V[2]);
698  };

Here is the caller graph for this function:

double z ( ) const
inline

Definition at line 699 of file GeoPrimitives.H.

References C3Vector::V.

700  {
701  return(V[2]);
702  };
C3Vector& z ( double  i)
inline

Definition at line 703 of file GeoPrimitives.H.

References i, and C3Vector::V.

704  {
705  V[2] = i;
706  return(*this);
707  };
blockLoc i
Definition: read.cpp:79

Friends And Related Function Documentation

C3Vector operator* ( double  scalar,
const C3Vector v 
)
friend

Definition at line 126 of file GeoPrimitives.C.

127  {
128  GeoPrim::C3Vector rv(v);
129  return(rv *= scalar);
130  }
/brief Cartesian 3 Vector
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::ostream& operator<< ( std::ostream &  oS,
const C3Vector v 
)
friend

Definition at line 104 of file GeoPrimitives.C.

105  {
106  oS << v.x() << " " << v.y() << " " << v.z();
107  return(oS);
108  }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::istream& operator>> ( std::istream &  iS,
GeoPrim::C3Vector v 
)
friend

Definition at line 111 of file GeoPrimitives.C.

112  {
113  iS >> v[0] >> v[1] >> v[2];
114  return(iS);
115  }

Member Data Documentation

bool _mydata
private

The documentation for this class was generated from the following file: