00001 /** 00002 * Represents the union of two implicit surfaces. 00003 * 00004 * @author Steve Zelinka 00005 */ 00006 00007 #ifndef _UNION_H 00008 #define _UNION_H 00009 00010 #include "RFunction.h" 00011 00012 /** Union creates an Rfunction with default C1 continuity. 00013 */ 00014 class Union : public RFunction 00015 { 00016 public: 00017 /** 00018 * Constructor for a Union. 00019 * 00020 * @param f One function to be union'd. 00021 * @param g The other function to be union'd. 00022 * @param cont The degree of continuity to be provided. 00023 */ 00024 Union(Implicit *f, Implicit *g, int cont = 1) 00025 { 00026 m_f = f; 00027 m_g = g; 00028 m_cont = cont; 00029 m_sign = -1; 00030 } 00031 00032 Union() { 00033 m_f = m_g = NULL; 00034 m_cont = 1; 00035 m_sign = -1; 00036 } 00037 00038 MAKE_NAME(); 00039 }; 00040 00041 #endif 00042
1.3.4