Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

AUnion Class Reference

#include <AUnion.h>

Inheritance diagram for AUnion:

Inheritance graph
[legend]
Collaboration diagram for AUnion:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AUnion ()
 Constuctor defaults to a quadratic with radii one.

bool indomain (double f, double g)
 Blending region is limited to f < r1, g < r2, f > 0, g > 0.

virtual double h (double f, double g)
 Computes an elliptic union blend.

virtual double hf (double f, double g)
 dh(f,g)/df = d f^(d-1)/r1

virtual double hg (double f, double g)
 dh(f,g)/dg = d g^(d-1)/r2

virtual double hff (double f, double g)
 d2h(f,g)/df2 = d(d-1) f^(d-2)/r1.

virtual double hfg (double f, double g)
 No mixed second derivatives.

virtual double hgg (double f, double g)
 d2h(f,g)/dg2 = d(d-1) g^(d-2)/r2

bool indomain (Intervald f, Intervald g)
virtual Intervald h (Intervald f, Intervald g)
virtual Intervald hf (Intervald f, Intervald g)
virtual Intervald hg (Intervald f, Intervald g)
virtual Intervald hff (Intervald f, Intervald g)
virtual Intervald hfg (Intervald f, Intervald g)
virtual Intervald hgg (Intervald f, Intervald g)
 MAKE_NAME ()

Public Attributes

double m_d
 Degree of blend.


Constructor & Destructor Documentation

AUnion::AUnion  )  [inline]
 

Constuctor defaults to a quadratic with radii one.

Definition at line 20 of file AUnion.h.

References m_d, BinaryOp::m_f, BinaryOp::m_g, Blend::m_r1, and Blend::m_r2.


Member Function Documentation

Intervald AUnion::h Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 47 of file AUnion.cpp.

References indomain(), Intervald, m_d, Blend::m_r1, and Blend::m_r2.

double AUnion::h double  f,
double  g
[virtual]
 

Computes an elliptic union blend.

h(f,g) = -( (f - r1)^d/r1^d + (g - r2)^d/r2^d - 1). Negated such that surface is negative inside. Returns smaller of f or g if either is outside its blending radius.

When f = 0 and as g approaches r2, returns zero. When g = 0 and as f approaches r1, returns zero.

Reimplemented from RFunction.

Definition at line 38 of file AUnion.cpp.

References indomain(), m_d, Blend::m_r1, and Blend::m_r2.

Intervald AUnion::hf Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 68 of file AUnion.cpp.

References indomain(), Intervald, m_d, and Blend::m_r1.

double AUnion::hf double  f,
double  g
[virtual]
 

dh(f,g)/df = d f^(d-1)/r1

Reimplemented from RFunction.

Definition at line 60 of file AUnion.cpp.

References indomain(), m_d, and Blend::m_r1.

Intervald AUnion::hff Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 111 of file AUnion.cpp.

References indomain(), Intervald, m_d, and Blend::m_r1.

double AUnion::hff double  f,
double  g
[virtual]
 

d2h(f,g)/df2 = d(d-1) f^(d-2)/r1.

m_d should be at least two.

Reimplemented from RFunction.

Definition at line 103 of file AUnion.cpp.

References indomain(), m_d, and Blend::m_r1.

Intervald AUnion::hfg Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 149 of file AUnion.cpp.

References Intervald.

double AUnion::hfg double  f,
double  g
[virtual]
 

No mixed second derivatives.

Reimplemented from RFunction.

Definition at line 144 of file AUnion.cpp.

Intervald AUnion::hg Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 89 of file AUnion.cpp.

References indomain(), Intervald, m_d, and Blend::m_r2.

double AUnion::hg double  f,
double  g
[virtual]
 

dh(f,g)/dg = d g^(d-1)/r2

Reimplemented from RFunction.

Definition at line 81 of file AUnion.cpp.

References indomain(), m_d, and Blend::m_r2.

Intervald AUnion::hgg Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 132 of file AUnion.cpp.

References indomain(), Intervald, m_d, and Blend::m_r2.

double AUnion::hgg double  f,
double  g
[virtual]
 

d2h(f,g)/dg2 = d(d-1) g^(d-2)/r2

Reimplemented from RFunction.

Definition at line 124 of file AUnion.cpp.

References indomain(), m_d, and Blend::m_r2.

bool AUnion::indomain Intervald  f,
Intervald  g
 

Definition at line 21 of file AUnion.cpp.

References Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::overlaps().

bool AUnion::indomain double  f,
double  g
 

Blending region is limited to f < r1, g < r2, f > 0, g > 0.

Definition at line 16 of file AUnion.cpp.

Referenced by h(), hf(), hff(), hg(), and hgg().

AUnion::MAKE_NAME  ) 
 


Member Data Documentation

double AUnion::m_d
 

Degree of blend.

Definition at line 17 of file AUnion.h.

Referenced by AUnion(), h(), hf(), hff(), hg(), and hgg().


The documentation for this class was generated from the following files:
Generated on Mon Jun 28 15:02:01 2004 for Advanced Surface Library by doxygen 1.3.4