SyFi::Simplex Class Reference

#include <Polygon.h>

Inheritance diagram for SyFi::Simplex:

SyFi::Polygon SyFi::Polygon SyFi::_object SyFi::_object

List of all members.

Public Member Functions

 Simplex (GiNaC::lst vertices, const std::string &subscript="")
 Simplex (const Simplex &simplex)
virtual ~Simplex ()
virtual unsigned int no_space_dim () const
virtual GiNaC::ex repr (Repr_format format=SUBS_PERFORMED) const
virtual const std::string str () const
virtual GiNaC::ex integrate (GiNaC::ex f, Repr_format format=SUBS_PERFORMED)
Simplex sub_simplex (unsigned int i)
virtual Simplexcopy () const
def __init__
def no_space_dim
def repr
def str
def integrate
def sub_simplex
def copy

Public Attributes

 this

Static Private Attributes

dictionary __swig_setmethods__ = {}
tuple __setattr__ = lambdaself,name,value:_swig_setattr(self, Simplex, name, value)
dictionary __swig_getmethods__ = {}
tuple __getattr__ = lambdaself,name:_swig_getattr(self, Simplex, name)
 __repr__ = _swig_repr
 __swig_destroy__ = _SyFi.delete_Simplex
 __del__ = lambdaself:None;


Detailed Description

Proxy of C++ SyFi::Simplex class

Definition at line 227 of file Polygon.h.


Constructor & Destructor Documentation

SyFi::Simplex::Simplex ( GiNaC::lst  vertices,
const std::string &  subscript = "" 
)

Referenced by copy(), and sub_simplex().

SyFi::Simplex::Simplex ( const Simplex simplex  ) 

Definition at line 1237 of file Polygon.cpp.

01237                                               :
01238         Polygon(simplex)
01239         {
01240         }

virtual SyFi::Simplex::~Simplex (  )  [inline, virtual]

Definition at line 232 of file Polygon.h.

00232 {}


Member Function Documentation

def SyFi::Simplex::__init__ (   self,
  args 
)

__init__(self, GiNaC::lst vertices, string subscript = "") -> Simplex
__init__(self, GiNaC::lst vertices) -> Simplex
__init__(self, Simplex simplex) -> Simplex

Definition at line 1914 of file SyFi.py.

01914                              : 
01915         """
01916         __init__(self, GiNaC::lst vertices, string subscript = "") -> Simplex
01917         __init__(self, GiNaC::lst vertices) -> Simplex
01918         __init__(self, Simplex simplex) -> Simplex
01919         """
01920         this = _SyFi.new_Simplex(*args)
01921         try: self.this.append(this)
01922         except: self.this = this

def SyFi::Simplex::copy (   self  ) 

copy(self) -> Simplex

Reimplemented from SyFi::Polygon.

Definition at line 1951 of file SyFi.py.

01951                   :
01952         """copy(self) -> Simplex"""
01953         return _SyFi.Simplex_copy(self)
01954 
Simplex_swigregister = _SyFi.Simplex_swigregister

Simplex * SyFi::Simplex::copy (  )  const [virtual]

Implements SyFi::Polygon.

Definition at line 1351 of file Polygon.cpp.

References Simplex().

01352         {
01353                 return new Simplex(*this);
01354         }

def SyFi::Simplex::integrate (   self,
  args 
)

integrate(self, GiNaC::ex f, Repr_format format = SUBS_PERFORMED) -> GiNaC::ex
integrate(self, GiNaC::ex f) -> GiNaC::ex

Reimplemented from SyFi::Polygon.

Definition at line 1940 of file SyFi.py.

01940                               :
01941         """
01942         integrate(self, GiNaC::ex f, Repr_format format = SUBS_PERFORMED) -> GiNaC::ex
01943         integrate(self, GiNaC::ex f) -> GiNaC::ex
01944         """
01945         return _SyFi.Simplex_integrate(self, *args)
01946 
    def sub_simplex(self, *args):

virtual GiNaC::ex SyFi::Simplex::integrate ( GiNaC::ex  f,
Repr_format  format = SUBS_PERFORMED 
) [virtual]

Implements SyFi::Polygon.

Referenced by main().

def SyFi::Simplex::no_space_dim (   self  ) 

no_space_dim(self) -> unsigned int

Reimplemented from SyFi::Polygon.

Definition at line 1925 of file SyFi.py.

01925                           :
01926         """no_space_dim(self) -> unsigned int"""
01927         return _SyFi.Simplex_no_space_dim(self)
01928 
    def repr(self, *args):

unsigned int SyFi::Simplex::no_space_dim (  )  const [virtual]

Implements SyFi::Polygon.

Definition at line 1242 of file Polygon.cpp.

01243         {
01244                 return p[0].nops()-1;
01245         }

def SyFi::Simplex::repr (   self,
  args 
)

repr(self, Repr_format format = SUBS_PERFORMED) -> GiNaC::ex
repr(self) -> GiNaC::ex

Reimplemented from SyFi::Polygon.

Definition at line 1929 of file SyFi.py.

01929                          :
01930         """
01931         repr(self, Repr_format format = SUBS_PERFORMED) -> GiNaC::ex
01932         repr(self) -> GiNaC::ex
01933         """
01934         return _SyFi.Simplex_repr(self, *args)
01935 
    def str(self):

ex SyFi::Simplex::repr ( Repr_format  format = SUBS_PERFORMED  )  const [virtual]

Implements SyFi::Polygon.

Definition at line 1247 of file Polygon.cpp.

References SyFi::get_symbolic_vector(), SyFi_polygons::spacetimedomain::l, cleanlogs::lines, SyFi::Polygon::no_vertices(), SyFi::nsd, SyFi::Polygon::vertex(), and SyFi::x.

Referenced by _wrap_Simplex_repr__SWIG_1(), and main().

01248         {
01249                 unsigned int nsd = vertex(0).nops();
01250                 unsigned int no_lines = no_vertices()-1;
01251 
01252                 ex r = get_symbolic_vector(nsd, "r");
01253                 ex x = get_symbolic_vector(nsd, "x");
01254                 ex ri;
01255                 lst lines;
01256                 for (unsigned int i=0; i< no_vertices()-1; i++)
01257                 {
01258                         ri = r.op(i);
01259                         lst line_i_repr;
01260                         for (unsigned int d=0; d< nsd; d++)
01261                         {
01262                                 line_i_repr.append(x.op(d) == (vertex(i+1).op(d) - vertex(0).op(d))*ri + vertex(0).op(d));
01263                         }
01264                         line_i_repr.append(lst(ri, 0, 1));
01265 
01266                         lines.append(line_i_repr);
01267                 }
01268 
01269                 lst ret;
01270                 for (unsigned int i=0; i < nsd; i++)
01271                 {
01272                         ri = r.op(i);
01273                         GiNaC::ex xi_expr;
01274                         GiNaC::ex rhs  = lines.op(0).op(i).rhs().coeff(ri,0);
01275                         for (unsigned int l=0; l < no_lines; l++)
01276                         {
01277                                 //        xi_expr2 == xi_expr.lhs() == xi_expr.rhs()  + lines.op(l).op(i).rhs().coeff(ri,1)*ri;
01278                                 rhs += lines.op(l).op(i).rhs().coeff(ri,1)*ri;
01279 
01280                         }
01281                         xi_expr = x.op(i) == rhs;
01282                         ret.append(xi_expr);
01283                 }
01284 
01285                 GiNaC::ex limit=1;
01286                 for (unsigned int i=0; i< no_lines; i++)
01287                 {
01288                         ri = r.op(i);
01289                         ret.append(lst(ri, 0, limit));
01290                         limit -= ri;
01291                 }
01292 
01293                 return ret;
01294         }

def SyFi::Simplex::str (   self  ) 

str(self) -> string

Reimplemented from SyFi::Polygon.

Definition at line 1936 of file SyFi.py.

01936                  :
01937         """str(self) -> string"""
01938         return _SyFi.Simplex_str(self)
01939 
    def integrate(self, *args):

const string SyFi::Simplex::str (  )  const [virtual]

Implements SyFi::Polygon.

Definition at line 1296 of file Polygon.cpp.

Referenced by _wrap_Simplex_str(), and main().

01297         {
01298                 std::ostringstream s;
01299                 /*
01300                 s <<"Simplex(";
01301                 for (int i=0; i<p.size()-1; i++) {
01302                   s << p[i]<<",";
01303                 }
01304                 s << p[p.size()-1]<<")";
01305                 */
01306                 s <<"Simplex";
01307                 return s.str();
01308         }

def SyFi::Simplex::sub_simplex (   self,
  args 
)

sub_simplex(self, unsigned int i) -> Simplex

Definition at line 1947 of file SyFi.py.

01947                                 :
01948         """sub_simplex(self, unsigned int i) -> Simplex"""
01949         return _SyFi.Simplex_sub_simplex(self, *args)
01950 
    def copy(self):

Simplex SyFi::Simplex::sub_simplex ( unsigned int  i  ) 

Definition at line 1334 of file Polygon.cpp.

References SyFi::istr(), Simplex(), and SyFi::Polygon::subscript.

Referenced by main().

01335         {
01336                 if ( i < 0 || i >= p.size())
01337                 {
01338                         throw std::out_of_range("Can only create subsimplices between 0 and the number of vertices-1.");
01339                 }
01340                 lst v;
01341                 for (unsigned int k=0; k< p.size(); k++)
01342                 {
01343                         if ( k != i)
01344                         {
01345                                 v.append(p[k]);
01346                         }
01347                 }
01348                 return Simplex(v, istr(subscript, i));
01349         }


Member Data Documentation

SyFi::Simplex::__del__ = lambdaself:None; [static, private]

Reimplemented from SyFi::Polygon.

Definition at line 1924 of file SyFi.py.

tuple SyFi::Simplex::__getattr__ = lambdaself,name:_swig_getattr(self, Simplex, name) [static, private]

Reimplemented from SyFi::Polygon.

Definition at line 1912 of file SyFi.py.

SyFi::Simplex::__repr__ = _swig_repr [static, private]

Reimplemented from SyFi::Polygon.

Definition at line 1913 of file SyFi.py.

tuple SyFi::Simplex::__setattr__ = lambdaself,name,value:_swig_setattr(self, Simplex, name, value) [static, private]

Reimplemented from SyFi::Polygon.

Definition at line 1909 of file SyFi.py.

SyFi::Simplex::__swig_destroy__ = _SyFi.delete_Simplex [static, private]

Reimplemented from SyFi::Polygon.

Definition at line 1923 of file SyFi.py.

dictionary SyFi::Simplex::__swig_getmethods__ = {} [static, private]

Reimplemented from SyFi::Polygon.

Definition at line 1910 of file SyFi.py.

dictionary SyFi::Simplex::__swig_setmethods__ = {} [static, private]

Reimplemented from SyFi::Polygon.

Definition at line 1907 of file SyFi.py.

Definition at line 1922 of file SyFi.py.


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

Generated on Mon Aug 31 16:17:07 2009 for SyFi by  doxygen 1.5.9