SyFi 0.3
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.

                                              :
        Polygon(simplex)
        {
        }
virtual SyFi::Simplex::~Simplex ( ) [inline, virtual]

Definition at line 232 of file Polygon.h.

{}
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

Member Function Documentation

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

Implements SyFi::Polygon.

Definition at line 1351 of file Polygon.cpp.

References Simplex().

        {
                return new Simplex(*this);
        }
def SyFi::Simplex::copy (   self)
copy(self) -> Simplex

Reimplemented from SyFi::Polygon.

Definition at line 1951 of file SyFi.py.

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

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.

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

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

Implements SyFi::Polygon.

Referenced by main().

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

Implements SyFi::Polygon.

Definition at line 1242 of file Polygon.cpp.

        {
                return p[0].nops()-1;
        }
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.

01926                           :
01927         """no_space_dim(self) -> unsigned int"""
01928         return _SyFi.Simplex_no_space_dim(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().

        {
                unsigned int nsd = vertex(0).nops();
                unsigned int no_lines = no_vertices()-1;

                ex r = get_symbolic_vector(nsd, "r");
                ex x = get_symbolic_vector(nsd, "x");
                ex ri;
                lst lines;
                for (unsigned int i=0; i< no_vertices()-1; i++)
                {
                        ri = r.op(i);
                        lst line_i_repr;
                        for (unsigned int d=0; d< nsd; d++)
                        {
                                line_i_repr.append(x.op(d) == (vertex(i+1).op(d) - vertex(0).op(d))*ri + vertex(0).op(d));
                        }
                        line_i_repr.append(lst(ri, 0, 1));

                        lines.append(line_i_repr);
                }

                lst ret;
                for (unsigned int i=0; i < nsd; i++)
                {
                        ri = r.op(i);
                        GiNaC::ex xi_expr;
                        GiNaC::ex rhs  = lines.op(0).op(i).rhs().coeff(ri,0);
                        for (unsigned int l=0; l < no_lines; l++)
                        {
                                //        xi_expr2 == xi_expr.lhs() == xi_expr.rhs()  + lines.op(l).op(i).rhs().coeff(ri,1)*ri;
                                rhs += lines.op(l).op(i).rhs().coeff(ri,1)*ri;

                        }
                        xi_expr = x.op(i) == rhs;
                        ret.append(xi_expr);
                }

                GiNaC::ex limit=1;
                for (unsigned int i=0; i< no_lines; i++)
                {
                        ri = r.op(i);
                        ret.append(lst(ri, 0, limit));
                        limit -= ri;
                }

                return ret;
        }
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.

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

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

Implements SyFi::Polygon.

Definition at line 1296 of file Polygon.cpp.

References run::s.

Referenced by _wrap_Simplex_str(), and main().

        {
                std::ostringstream s;
                /*
                s <<"Simplex(";
                for (int i=0; i<p.size()-1; i++) {
                  s << p[i]<<",";
                }
                s << p[p.size()-1]<<")";
                */
                s <<"Simplex";
                return s.str();
        }
def SyFi::Simplex::str (   self)
str(self) -> string

Reimplemented from SyFi::Polygon.

Definition at line 1936 of file SyFi.py.

01937                  :
01938         """str(self) -> string"""
01939         return _SyFi.Simplex_str(self)

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

Definition at line 1334 of file Polygon.cpp.

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

Referenced by main().

        {
                if ( i < 0 || i >= p.size())
                {
                        throw std::out_of_range("Can only create subsimplices between 0 and the number of vertices-1.");
                }
                lst v;
                for (unsigned int k=0; k< p.size(); k++)
                {
                        if ( k != i)
                        {
                                v.append(p[k]);
                        }
                }
                return Simplex(v, istr(subscript, i));
        }
def SyFi::Simplex::sub_simplex (   self,
  args 
)
sub_simplex(self, unsigned int i) -> Simplex

Definition at line 1947 of file SyFi.py.

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


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 1918 of file SyFi.py.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines