polyhedron_3d Namespace Reference

Classes

class  Style
class  Obj
class  Poly_3D
class  Poly_3DBasicTest

Functions

def get_filename
def objfile
def get_obj_data
def draw_SVG_dot
def draw_SVG_line
def draw_SVG_poly
def draw_edges
def draw_faces
def get_darkened_colour
def make_rotation_log
def get_angle
def length
def normalise
def get_normal
def get_unit_normal
def rotate
def rot_z
def rot_y
def rot_x
def get_transformed_pts
def get_max_z
def get_min_z
def get_cent_z
def get_z_sort_param
def remove_duplicates
def make_edge_list
def __init__
def __init__
def set_type

Variables

 _ = gettext.gettext
tuple e = Poly_3D()
 th
 fill
 col
 r
 f_opac
 s_opac
 linecap
 linejoin
 vtx
 edg
 fce
 name
 type

Function Documentation

def polyhedron_3d::__init__ (   self  ) 

Definition at line 320 of file polyhedron_3d.py.

00321                       :
00322         self.vtx = []
00323         self.edg = []
00324         self.fce = []
00325         self.name=''
        

def polyhedron_3d::__init__ (   self,
  options 
)

Definition at line 308 of file polyhedron_3d.py.

00309                               :
00310         self.th = options.th
00311         self.fill= '#ff0000'
00312         self.col = '#000000'
00313         self.r = 2
00314         self.f_opac = str(options.f_opac/100.0)
00315         self.s_opac = str(options.s_opac/100.0)
00316         self.linecap = 'round'
00317         self.linejoin = 'round'

def polyhedron_3d::draw_edges (   edge_list,
  pts,
  st,
  parent 
)

Definition at line 165 of file polyhedron_3d.py.

00166                                             :
00167     for edge in edge_list:#for every edge
00168         pt_1 = pts[ edge[0]-1 ][0:2] #the point at the start
00169         pt_2 = pts[ edge[1]-1 ][0:2] #the point at the end
00170         name = 'Edge'+str(edge[0])+'-'+str(edge[1])
00171         draw_SVG_line(pt_1,pt_2,st, name, parent)#plot edges
                              

def polyhedron_3d::draw_faces (   faces_data,
  pts,
  obj,
  shading,
  fill_col,
  st,
  parent 
)

Definition at line 172 of file polyhedron_3d.py.

00172                                                                    :          
00173     for face in faces_data:#for every polygon that has been sorted
00174         if shading:
00175             st.fill = get_darkened_colour(fill_col, face[1]/pi)#darken proportionally to angle to lighting vector
00176         else:
00177             st.fill = get_darkened_colour(fill_col, 1)#do not darken colour
00178                           
00179         face_no = face[3]#the number of the face to draw
00180         draw_SVG_poly(pts, obj.fce[ face_no ], st, 'Face:'+str(face_no), parent)
00181 

def polyhedron_3d::draw_SVG_dot (   cx,
  cy,
  st,
  name,
  parent 
)

Definition at line 135 of file polyhedron_3d.py.

00136                                             :
00137     style = { 'stroke': '#000000', 'stroke-width':str(st.th), 'fill': st.fill, 'stroke-opacity':st.s_opac, 'fill-opacity':st.f_opac}
00138     circ_attribs = {'style':simplestyle.formatStyle(style),
00139                     inkex.addNS('label','inkscape'):name,
00140                     'r':str(st.r),
00141                     'cx':str(cx), 'cy':str(-cy)}
00142     inkex.etree.SubElement(parent, inkex.addNS('circle','svg'), circ_attribs )
    

def polyhedron_3d::draw_SVG_line (   x1,
  y1,
  x2,
  y2,
  st,
  name,
  parent 
)

Definition at line 143 of file polyhedron_3d.py.

00144                                                       :
00145     style = { 'stroke': '#000000', 'stroke-width':str(st.th), 'stroke-linecap':st.linecap}
00146     line_attribs = {'style':simplestyle.formatStyle(style),
00147                     inkex.addNS('label','inkscape'):name,
00148                     'd':'M '+str(x1)+','+str(-y1)+' L '+str(x2)+','+str(-y2)}
00149     inkex.etree.SubElement(parent, inkex.addNS('path','svg'), line_attribs )
    

def polyhedron_3d::draw_SVG_poly (   pts,
  face,
  st,
  name,
  parent 
)

Definition at line 150 of file polyhedron_3d.py.

00151                                               :
00152     style = { 'stroke': '#000000', 'stroke-width':str(st.th), 'stroke-linejoin':st.linejoin, \
00153               'stroke-opacity':st.s_opac, 'fill': st.fill, 'fill-opacity':st.f_opac}   
00154     for i in range(len(face)):
00155         if i == 0:#for first point
00156             d = 'M'#move to
00157         else:
00158             d = d + 'L'#line to
00159         d = d+ str(pts[face[i]-1][0]) + ',' + str(-pts[face[i]-1][1])#add point
00160     d = d + 'z' #close the polygon
00161     
00162     line_attribs = {'style':simplestyle.formatStyle(style),
00163                     inkex.addNS('label','inkscape'):name,'d': d}
00164     inkex.etree.SubElement(parent, inkex.addNS('path','svg'), line_attribs )
    

def polyhedron_3d::get_angle (   vector1,
  vector2 
)

Definition at line 198 of file polyhedron_3d.py.

00198                                  : #returns the angle between two vectors
00199     return acos( dot(vector1, vector2) )
00200 

def polyhedron_3d::get_cent_z (   pts,
  face 
)

Definition at line 268 of file polyhedron_3d.py.

00268                          : #returns the centroid z_value of any point in the face
00269     sum = 0
00270     for i in range(len(face)):
00271             sum += pts[ face[i]-1 ][2]
00272     return sum/len(face)
00273     

def polyhedron_3d::get_darkened_colour (   r,
  g,
  b,
  factor 
)

Definition at line 182 of file polyhedron_3d.py.

00183                                          :
00184 #return a hex triplet of colour, reduced in lightness proportionally to a value between 0 and 1
00185     return  '#' + "%02X" % floor( factor*r ) \
00186                 + "%02X" % floor( factor*g ) \
00187                 + "%02X" % floor( factor*b ) #make the colour string

def polyhedron_3d::get_filename (   self_options  ) 

Definition at line 64 of file polyhedron_3d.py.

Referenced by Inkscape::UI::Widget::PrefFileButton::onFileChanged(), Inkscape::UI::Dialog::FileOpenDialogImplGtk::show(), and Inkscape::UI::Dialog::FileSaveDialogImplGtk::updateNameAndExtension().

00065                               :
00066         if self_options.obj == 'from_file':
00067             file = self_options.spec_file
00068         else:
00069             file = self_options.obj + '.obj'
00070             
00071         return file

def polyhedron_3d::get_max_z (   pts,
  face 
)

Definition at line 254 of file polyhedron_3d.py.

00254                         : #returns the largest z_value of any point in the face
00255     max_z = pts[ face[0]-1 ][2]
00256     for i in range(1, len(face)):
00257         if pts[ face[0]-1 ][2] >= max_z:
00258             max_z = pts[ face[0]-1 ][2]
00259     return max_z
00260     

def polyhedron_3d::get_min_z (   pts,
  face 
)

Definition at line 261 of file polyhedron_3d.py.

00261                         : #returns the smallest z_value of any point in the face
00262     min_z = pts[ face[0]-1 ][2]
00263     for i in range(1, len(face)):
00264         if pts[ face[i]-1 ][2] <= min_z:
00265             min_z = pts[ face[i]-1 ][2]
00266     return min_z
00267     

def polyhedron_3d::get_normal (   pts,
  face 
)

Definition at line 207 of file polyhedron_3d.py.

00207                           : #returns the normal vector for the plane passing though the first three elements of face of pts
00208     #n = pt[0]->pt[1] x pt[0]->pt[3]
00209     a = (array(pts[ face[0]-1 ]) - array(pts[ face[1]-1 ]))
00210     b = (array(pts[ face[0]-1 ]) - array(pts[ face[2]-1 ]))
00211     return cross(a,b).flatten()
00212 

def polyhedron_3d::get_obj_data (   obj,
  name 
)

Definition at line 82 of file polyhedron_3d.py.

00083                            :
00084     infile = open(objfile(name))
00085     
00086     #regular expressions
00087     getname = '(.[nN]ame:\\s*)(.*)'
00088     floating = '([\-\+\\d*\.e]*)'   #a possibly non-integer number, with +/- and exponent.
00089     getvertex = '(v\\s+)'+floating+'\\s+'+floating+'\\s+'+floating
00090     getedgeline = '(l\\s+)(.*)'
00091     getfaceline = '(f\\s+)(.*)'
00092     getnextint = '(\\d+)([/\\d]*)(.*)'#we need to deal with 123\343\123 or 123\\456 as equivalent to 123 (we are ignoring the other options in the obj file)
00093     
00094     for line in infile:
00095         if line[0]=='#':                    #we have a comment line
00096             m = re.search(getname, line)        #check to see if this line contains a name
00097             if m:
00098                 obj.name = m.group(2)           #if it does, set the property
00099         elif line[0] == 'v':                #we have a vertex (maybe)
00100             m = re.search(getvertex, line)      #check to see if this line contains a valid vertex
00101             if m:                               #we have a valid vertex
00102                 obj.vtx.append( [float(m.group(2)), float(m.group(3)), float(m.group(4)) ] )
00103         elif line[0] == 'l':                #we have a line (maybe)
00104             m = re.search(getedgeline, line)    #check to see if this line begins 'l '
00105             if m:                               #we have a line beginning 'l '
00106                 vtxlist = []    #buffer
00107                 while line:
00108                     m2 = re.search(getnextint, line)
00109                     if m2:
00110                         vtxlist.append( int(m2.group(1)) )
00111                         line = m2.group(3)#remainder
00112                     else:
00113                         line = None
00114                 if len(vtxlist) > 1:#we need at least 2 vertices to make an edge
00115                     for i in range (len(vtxlist)-1):#we can have more than one vertex per line - get adjacent pairs
00116                         obj.edg.append( ( vtxlist[i], vtxlist[i+1] ) )#get the vertex pair between that vertex and the next
00117         elif line[0] == 'f':                #we have a face (maybe)
00118             m = re.search(getfaceline, line)
00119             if m:                               #we have a line beginning 'f '
00120                 vtxlist = []#buffer
00121                 while line:
00122                     m2 = re.search(getnextint, line)
00123                     if m2:
00124                         vtxlist.append( int(m2.group(1)) )
00125                         line = m2.group(3)#remainder
00126                     else:
00127                         line = None
00128                 if len(vtxlist) > 2:            #we need at least 3 vertices to make an edge
00129                     obj.fce.append(vtxlist)
00130     
00131     if obj.name == '':#no name was found, use filename, without extension (.obj)
00132         obj.name = name[0:-4]
00133 
00134 #RENDERING AND SVG OUTPUT FUNCTIONS

def polyhedron_3d::get_transformed_pts (   vtx_list,
  trans_mat 
)

Definition at line 248 of file polyhedron_3d.py.

00248                                              :#translate the points according to the matrix
00249     transformed_pts = []
00250     for vtx in vtx_list:
00251         transformed_pts.append((trans_mat * mat(vtx).T).T.tolist()[0] )#transform the points at add to the list
00252     return transformed_pts
00253 

def polyhedron_3d::get_unit_normal (   pts,
  face,
  cw_wound 
)

Definition at line 213 of file polyhedron_3d.py.

00213                                         : #returns the unit normal for the plane passing through the first three points of face, taking account of winding
00214     if cw_wound:
00215         winding = -1 #if it is clockwise wound, reverse the vecotr direction
00216     else:
00217         winding = 1 #else leave alone
00218     
00219     return winding*normalise(get_normal(pts, face))
00220 

def polyhedron_3d::get_z_sort_param (   pts,
  face,
  method 
)

Definition at line 274 of file polyhedron_3d.py.

00274                                        : #returns the z-sorting parameter specified by 'method' ('max', 'min', 'cent')  
00275     z_sort_param = ''
00276     if  method == 'max':
00277         z_sort_param  = get_max_z(pts, face)
00278     elif method == 'min':
00279         z_sort_param  = get_min_z(pts, face)
00280     else:
00281         z_sort_param  = get_cent_z(pts, face)
00282     return z_sort_param
00283 
00284 #OBJ DATA MANIPULATION

def polyhedron_3d::make_edge_list (   face_list  ) 

Definition at line 296 of file polyhedron_3d.py.

00296                              :#make an edge vertex list from an existing face vertex list
00297     edge_list = []
00298     for i in range(len(face_list)):#for every face
00299         edges = len(face_list[i]) #number of edges around that face
00300         for j in range(edges):#for every vertex in that face
00301             new_edge = [face_list[i][j], face_list[i][(j+1)%edges] ]
00302             new_edge.sort() #put in ascending order of vertices (to ensure we spot duplicates)
00303             edge_list.append( new_edge )#get the vertex pair between that vertex and the next
00304     
00305     return remove_duplicates(edge_list)
00306     

def polyhedron_3d::make_rotation_log (   options  ) 

Definition at line 188 of file polyhedron_3d.py.

00189                               :
00190 #makes a string recording the axes and angles of each roation, so an object can be repeated
00191     return   options.r1_ax+str('%.2f'%options.r1_ang)+':'+\
00192              options.r2_ax+str('%.2f'%options.r2_ang)+':'+\
00193              options.r3_ax+str('%.2f'%options.r3_ang)+':'+\
00194              options.r1_ax+str('%.2f'%options.r4_ang)+':'+\
00195              options.r2_ax+str('%.2f'%options.r5_ang)+':'+\
00196              options.r3_ax+str('%.2f'%options.r6_ang)
00197 
#MATHEMATICAL FUNCTIONS

def polyhedron_3d::normalise (   vector  ) 

Definition at line 204 of file polyhedron_3d.py.

00204                      :#return the unit vector pointing in the same direction as the argument
00205     return vector / length(vector)
00206 

def polyhedron_3d::objfile (   name  ) 

Definition at line 72 of file polyhedron_3d.py.

00073                  :
00074     import os.path
00075     if __name__ == '__main__':
00076         filename = sys.argv[0]
00077     else:
00078         filename = __file__
00079     path = os.path.abspath(os.path.dirname(filename))
00080     path = os.path.join(path, 'Poly3DObjects', name)
00081     return path
    

def polyhedron_3d::remove_duplicates (   list  ) 

Definition at line 285 of file polyhedron_3d.py.

00285                            :#removes the duplicates from a list
00286     list.sort()#sort the list
00287  
00288     last = list[-1]
00289     for i in range(len(list)-2, -1, -1):
00290         if last==list[i]:
00291             del list[i]
00292         else:
00293             last = list[i]
00294     return list
00295 

def polyhedron_3d::rot_x (   matrix,
  a 
)

Definition at line 242 of file polyhedron_3d.py.

00242                       :#rotate around the x-axis by a radians
00243     trans_mat = mat(array( [[   1    ,    0    ,    0   ],
00244                             [   0    ,  cos(a) ,-sin(a) ],
00245                             [   0    ,  sin(a) , cos(a) ]]))
00246     return trans_mat*matrix
00247 

def polyhedron_3d::rot_y (   matrix,
  a 
)

Definition at line 236 of file polyhedron_3d.py.

00236                       :#rotate around the y-axis by a radians
00237     trans_mat = mat(array( [[ cos(a) ,    0    , sin(a) ],
00238                             [   0    ,    1    ,    0   ],
00239                             [-sin(a) ,    0    , cos(a) ]]))
00240     return trans_mat*matrix
00241     

def polyhedron_3d::rot_z (   matrix,
  a 
)

Definition at line 230 of file polyhedron_3d.py.

00230                       :#rotate around the z-axis by a radians
00231     trans_mat = mat(array( [[ cos(a) , -sin(a) ,    0   ],
00232                             [ sin(a) ,  cos(a) ,    0   ],
00233                             [   0    ,    0    ,    1   ]]))
00234     return trans_mat*matrix
00235 

def polyhedron_3d::rotate (   matrix,
  angle,
  axis 
)

Definition at line 221 of file polyhedron_3d.py.

Referenced by Geom::detail::bezier_clipping::convex_hull(), NR::operator*(), rotate_degrees(), sp_selection_rotate_relative(), NrRotateTest::testInverse(), and Inkscape::Extension::Internal::OdfOutput::writeTree().

00221                                  :#choose the correct rotation matrix to use
00222     if   axis == 'x':
00223         matrix = rot_x(matrix, angle)
00224     elif axis == 'y':
00225         matrix = rot_y(matrix, angle)
00226     elif axis == 'z':
00227         matrix = rot_z(matrix, angle)
00228     return matrix
00229     

def polyhedron_3d::set_type (   self,
  options 
)

Definition at line 326 of file polyhedron_3d.py.

00327                                :
00328         if options.type == 'face':
00329             if self.fce != []:
00330                 self.type = 'face'
00331             else:
00332                 inkex.errormsg(_('No face data found in specified file.'))
00333                 inkex.errormsg(_('Try selecting "Edge Specified" in the Model File tab.\n'))
00334                 self.type = 'error'
00335         else:
00336             if self.edg != []:
00337                 self.type = 'edge'
00338             else:
00339                 inkex.errormsg(_('No edge data found in specified file.'))
00340                 inkex.errormsg(_('Try selecting "Face Specified" in the Model File tab.\n'))
00341                 self.type = 'error'


Variable Documentation

polyhedron_3d::_ = gettext.gettext

Definition at line 56 of file polyhedron_3d.py.

Definition at line 311 of file polyhedron_3d.py.

Referenced by Inkscape::UI::Dialogs::LayersPanel::_handleButtonEvent(), Inkscape::UI::Dialog::FilterEffectsDialog::Settings::add_color(), Inkscape::UI::PreviewHolder::addPreview(), Inkscape::UI::Dialog::ColorButton::ColorButton(), Pedro::PedroGui::colorCallback(), Inkscape::UI::ClipboardManagerImpl::copy(), Inkscape::Extension::Internal::Bitmap::ImageMagick::effect(), buildtool::TaskCC::execute(), Inkscape::UI::Dialog::FilterEffectsDialog::FilterModifier::FilterModifier(), SysEq::gauss_jordan(), org::w3c::dom::css::CssReader::getColumnAndRow(), org::w3c::dom::svg::SVGColor::getIccColor(), Pedro::Parser::getLineAndColumn(), buildtool::Parser::getLineAndColumn(), org::w3c::dom::svg::SVGColor::getRgbColor(), org::w3c::dom::css::RGBColor::getRGBColorValue(), gm_readbody_bmp(), Inkscape::UI::Dialog::TileDialog::Grid_Arrange(), Inkscape::UI::Dialog::InputDialogImpl::InputDialogImpl(), Inkscape::UI::Dialogs::LayersPanel::LayersPanel(), Inkscape::UI::Dialog::LivePathEffectEditor::LivePathEffectEditor(), Inkscape::UI::Dialog::FilterEffectsDialog::PrimitiveList::on_button_press_event(), Inkscape::UI::Dialog::FilterEffectsDialog::PrimitiveList::on_button_release_event(), Inkscape::UI::Dialog::FilterEffectsDialog::PrimitiveList::PrimitiveList(), Inkscape::UI::PreviewHolder::rebuildUI(), Inkscape::UI::Dialog::FilterEffectsDialog::ColorMatrixValues::set_from_attribute(), Inkscape::UI::Dialog::ColorButton::set_from_attribute(), Inkscape::Trace::Tracer::sioxProcessImage(), and Inkscape::Trace::Potrace::PotraceTracingEngine::traceQuant().

Definition at line 519 of file polyhedron_3d.py.

Definition at line 322 of file polyhedron_3d.py.

Definition at line 313 of file polyhedron_3d.py.

Definition at line 323 of file polyhedron_3d.py.

Definition at line 324 of file polyhedron_3d.py.

Referenced by Inkscape::Util::UnitsSAXHandler::_endElement(), Inkscape::UI::Dialogs::_loadPaletteFile(), Inkscape::UI::Dialogs::LayerPropertiesDialog::_prepareLabelRenderer(), Inkscape::Debug::Logger::_start(), Pedro::XmppConfig::accountAdd(), ColorNotebook::addPage(), Inkscape::UI::Dialog::Find::all_items(), all_items(), attr_reset_context(), Inkscape::UI::Widget::AttrWidget::attribute_value(), cmd_new_element_node(), cmd_set_attr(), Inkscape::Extension::Implementation::Script::copy_doc(), cr_additional_sel_one_to_string(), cr_additional_sel_to_string(), cr_attr_sel_to_string(), cr_enc_handler_resolve_enc_alias(), cr_font_family_to_string_real(), cr_pseudo_to_string(), cr_rgb_set_from_name(), cr_style_init_properties(), SPObject::defaultLabel(), Pedro::ConnectDialog::deleteCallback(), Inkscape::Whiteboard::ChooseDesktop::doSetup(), Pedro::ConnectDialog::doubleClickCallback(), Inkscape::Whiteboard::XMLNodeTracker::dump(), Inkscape::UI::Dialog::InputDialogImpl::eventSnoop(), buildtool::Make::executeTarget(), gdl_dock_bar_add_item(), gdl_dock_item_dock(), gdl_dock_item_show_item(), Inkscape::XML::get_local_name(), get_stock_item(), org::w3c::dom::css::CssReader::getFunction(), org::w3c::dom::xpath::XPathParser::getFunctionCall(), Inkscape::UI::Dialogs::SwatchesPanel::handleGradientsChange(), Inkscape::Extension::Internal::GdkpixbufInput::init(), org::inkscape::script::ScriptConsole::initScripts(), Inkscape::Util::UnitTable::loadText(), main(), Inkscape::Extension::Internal::Filter::Filter::merge_filters(), on_attr_select_row_set_name_content(), on_attr_select_row_set_value_content(), Inkscape::UI::Dialog::ExtensionEditor::on_pagelist_selection_changed(), Inkscape::UI::Widget::PageSizer::on_paper_size_list_changed(), Inkscape::Extension::Implementation::XSLT::open(), Inkscape::UI::Widget::PageSizer::PageSizer(), parse_at_media_property_cb(), parse_font_face_property_cb(), parse_page_property_cb(), buildtool::MakeBase::parseFileSet(), parseOptions(), org::w3c::dom::svg::SVGReader::parseTransform(), Inkscape::UI::Dialogs::LayerPropertiesDialog::Create::perform(), Inkscape::UI::Dialogs::LayerPropertiesDialog::Rename::perform(), Inkscape::IO::pixbuf_new_from_file(), populate_dtables(), Pedro::XmppClient::processIq(), profile_path(), Geom::read_svgd(), org::w3c::dom::ElementImpl::removeAttribute(), org::w3c::dom::NamedNodeMap::removeNamedItem(), blocks::ret_block(), tables::ret_layer(), tables::ret_ltype(), Pedro::ConnectDialog::saveCallback(), screen_size_changed_cb(), Pedro::ConnectDialog::selectedCallback(), set_prop_position_from_value(), org::w3c::dom::svg::SVGSVGElementImpl::setAttribute(), org::w3c::dom::ElementImpl::setAttribute(), CxxTest::Win32Gui::setCaption(), org::inkscape::script::ScriptConsole::setEngine(), org::w3c::dom::svg::SVGColorProfileRule::setName(), org::w3c::dom::NamedNodeMap::setNamedItem(), org::w3c::dom::NamedNodeMap::setNamedItemNS(), Inkscape::UI::Dialogs::LayerPropertiesDialog::Rename::setup(), CxxTest::X11Gui::setWindowName(), snoop_extended(), sp_attribute_lookup(), sp_connector_context_set(), sp_document_new(), sp_document_new_from_mem(), sp_export_dialog(), sp_filter_primitive_name_previous_out(), sp_help_open_tutorial(), sp_item_group_get_child_by_name(), sp_object_repr_build_tree(), sp_pen_context_set(), sp_rect_context_set(), sp_repr_is_meta_element(), sp_selection_ungroup(), sp_spiral_context_set(), sp_svg_create_color_hash(), sp_ui_shortcut_string(), AttributesTest::testAttributes(), Inkscape::UI::Dialog::DocumentProperties::update_gridspage(), SPDesktopWidget::updateTitle(), and Inkscape::Extension::Internal::OdfOutput::writeMeta().

Definition at line 312 of file polyhedron_3d.py.

Referenced by Inkscape::UI::Dialogs::ColorItem::_colorDefChanged(), Inkscape::Extension::Internal::CairoRenderContext::_createPatternForPaintServer(), Inkscape::Text::Layout::iterator::_cursorLeftOrRightLocalXByWord(), Inkscape::UI::Dialogs::_loadPaletteFile(), UnicodeRange::add_range(), Inkscape::LivePathEffect::LPEKnot::addCanvasIndicators(), FloatLigne::AddRun(), adjust_vertices(), Geom::SVGEllipticalArc::allNearestPoints(), Geom::EllipticalArc::allNearestPoints(), Inkscape::LivePathEffect::append_half_circle(), Inkscape::Extension::Internal::Bitmap::Colorize::applyEffect(), Inkscape::UI::Dialog::attach_all(), Inkscape::attach_all(), average_color(), DummyVarPair::betaCalc(), Avoid::IncSolver::blockGraphIsCyclic(), vpsc::Solver::blockGraphIsCyclic(), Inkscape::Selection::boundsInDocument(), lwpolyline::bulge_end_angle(), polyline::bulge_end_angle(), lwpolyline::bulge_r(), polyline::bulge_r(), lwpolyline::bulge_start_angle(), polyline::bulge_start_angle(), Geom::cheb_series(), Geom::circle_circle_intersection(), clonetiler_apply(), clonetiler_reset_recursive(), collect_terms(), Geom::compose(), Geom::compose_each(), conjugate_gradient(), Avoid::IncSolver::constraintGraphIsCyclic(), vpsc::Solver::constraintGraphIsCyclic(), UnicodeRange::contains(), straightener::Edge::createRouteFromPath(), Geom::cutAtRoots(), ddenom(), org::w3c::dom::io::TcpSocket::disconnect(), Pedro::TcpSocket::disconnect(), Geom::detail::bezier_clipping::distance_control_points(), CxxTest::doAssertRelation(), Inkscape::LivePathEffect::LPESketch::doEffect_pwd2(), dorth_infty(), Geom::D2< T >::dot(), Geom::dot(), enclose_items(), Geom::Poly::eval(), Geom::Bernsteins::find_bernstein_roots(), gdkPixbufToPackedPixelMap(), gdkPixbufToRgbMap(), Inkscape::UI::Dialog::ColorButton::get_as_attribute(), get_offset_between_points(), get_snap_vector(), SPItem::getBounds(), PairingHeap< Constraint * >::getRoot(), graphlayout(), Inkscape::grid_dot(), Inkscape::grid_hline(), Inkscape::grid_vline(), Inkscape::UI::Dialogs::SwatchesPanel::handleGradientsChange(), hreflist_write_svg(), inkscape_find_desktop_by_dkey(), inkscape_maximum_dkey(), internal_sp_svg_read_color(), Inkscape::Filters::interpolatePixels(), Geom::Rotate::inverse(), raster_glyph::LoadSubPixelPosition(), main(), Avoid::Block::merge(), vpsc::Block::merge(), Avoid::Blocks::mergeRight(), vpsc::Blocks::mergeRight(), modify_filter_gaussian_blur_from_item(), new_filter_simple_from_item(), nr_blit_pixblock_mask_rgba32(), nr_pixblock_render_shape_mask_or(), nr_R8G8B8_R8G8B8_A8_RGBA32(), nr_R8G8B8_R8G8B8_R8G8B8A8_N(), nr_R8G8B8_R8G8B8_R8G8B8A8_P(), nr_R8G8B8A8_N_EMPTY_A8_RGBA32(), nr_R8G8B8A8_N_EMPTY_R8G8B8A8_N(), nr_R8G8B8A8_N_EMPTY_R8G8B8A8_N_A8(), nr_R8G8B8A8_N_EMPTY_R8G8B8A8_P(), nr_R8G8B8A8_N_EMPTY_R8G8B8A8_P_A8(), nr_R8G8B8A8_N_R8G8B8A8_N_A8_RGBA32(), nr_R8G8B8A8_N_R8G8B8A8_N_R8G8B8A8_N(), nr_R8G8B8A8_N_R8G8B8A8_N_R8G8B8A8_N_A8(), nr_R8G8B8A8_N_R8G8B8A8_N_R8G8B8A8_N_TRANSFORM(), nr_R8G8B8A8_N_R8G8B8A8_N_R8G8B8A8_P(), nr_R8G8B8A8_N_R8G8B8A8_N_R8G8B8A8_P_A8(), nr_R8G8B8A8_P_EMPTY_A8_RGBA32(), nr_R8G8B8A8_P_EMPTY_R8G8B8A8_N(), nr_R8G8B8A8_P_EMPTY_R8G8B8A8_N_A8(), nr_R8G8B8A8_P_EMPTY_R8G8B8A8_P(), nr_R8G8B8A8_P_EMPTY_R8G8B8A8_P_A8(), nr_R8G8B8A8_P_R8G8B8A8_P_A8_RGBA32(), nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N(), nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_A8(), nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM_n(), nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_P(), nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_P_A8(), nr_render_rgba32_rgb(), Geom::OldBezier::operator()(), Geom::Region::operator*(), Inkscape::Util::FixedPoint< T, precision >::operator*(), Geom::operator*(), Inkscape::Util::FixedPoint< T, precision >::operator+(), Geom::operator+(), Inkscape::Util::FixedPoint< T, precision >::operator-(), Geom::operator-(), Geom::operator/(), operator<<(), opticurve(), Inkscape::LivePathEffect::PathParam::param_editOncanvas(), penalty3(), SPDesktop::point(), pointslope(), potrace_trace(), ppWritePPM(), Avoid::processEventHori(), Avoid::processEventVert(), Avoid::processShiftEvent(), Inkscape::Extension::Internal::OdfOutput::processStyle(), Inkscape::Extension::Internal::SingularValueDecomposition::rank(), org::w3c::dom::io::TcpSocket::read(), Pedro::TcpSocket::read(), vpsc::Solver::refine(), Inkscape::Filters::FilterFlood::render(), Inkscape::Filters::FilterColorMatrix::render(), CxxTest::Win32Gui::resizeControls(), AVLTree::RestoreBalances(), RGB(), Inkscape::Extension::Internal::rgba(), Geom::roots1(), Avoid::IncSolver::satisfy(), Geom::Circle::set(), Inkscape::UI::Dialog::ColorButton::set_from_attribute(), set_to_accumulated(), Inkscape::UI::MultiPathManipulator::setItems(), setup_path(), snap_vector_midpoint(), GradientProjection::solve(), sp_arc_drag(), sp_average_color(), sp_canvas_clear_buffer(), sp_caxonomgrid_setpixel(), sp_color_slider_render_gradient(), sp_color_wheel_render_hue_wheel(), sp_ctrl_build_cache(), sp_ctrlrect_area(), sp_ctrlrect_hline(), sp_ctrlrect_vline(), sp_desktop_get_color(), sp_desktop_get_color_tool(), sp_document_create(), sp_export_get_rows(), sp_find_squeeze_window(), sp_flood_context_root_handler(), sp_flood_do_flood_fill(), sp_gradient_context_root_handler(), sp_grid_vline(), sp_guideline_render(), sp_guideline_setpixel(), sp_item_invoke_bbox_full(), sp_lpe_item_down_current_path_effect(), sp_lpe_item_remove_current_path_effect(), sp_lpe_item_replace_path_effect(), sp_lpe_item_up_current_path_effect(), sp_namedview_document_from_window(), sp_paint_server_painter_free(), sp_png_write_rgba_striped(), sp_rect_compensate_rxry(), sp_rect_drag(), sp_search_by_data_recursive(), sp_search_by_value_recursive(), sp_select_context_root_handler(), sp_selection_rotate_screen(), sp_selection_tile(), sp_selection_to_marker(), sp_svg_length_read_ldd(), sp_ui_drag_data_received(), Avoid::IncSolver::splitBlocks(), vpsc::IncSolver::splitBlocks(), Geom::sqrt_internal(), Geom::sturm::sturm(), Inkscape::Extension::Internal::svd_hypot(), buildtool::trex_class(), tweak_colors_in_gradient(), unclump_center(), unclump_wh(), Inkscape::UI::Dialog::FilterEffectsDialog::MatrixAttr::update(), Inkscape::UI::View::EditWidget::warnDialog(), org::w3c::dom::io::TcpSocket::write(), Pedro::TcpSocket::write(), org::siox::SioxImage::writePPM(), straightener::Edge::xpos(), and straightener::Edge::ypos().

Definition at line 314 of file polyhedron_3d.py.

Referenced by sp_selected_path_outline().

Definition at line 329 of file polyhedron_3d.py.

Referenced by Inkscape::Util::UnitsSAXHandler::_startElement(), AppOpenDocAEHandler(), box3d_get_type(), box3d_side_get_type(), clonetiler_apply(), Inkscape::UI::Dialog::FileSaveDialogImplGtk::createFileTypeMenu(), Inkscape::Extension::Dependency::Dependency(), Inkscape::LivePathEffect::LPEPatternAlongPath::doEffect_pwd2(), file_import(), Inkscape::UI::Dialog::FileSaveDialogImplGtk::fileTypeChangedCallback(), gdl_dock_bar_style_get_type(), gdl_dock_expansion_direction_get_type(), gdl_dock_item_behavior_get_type(), gdl_dock_item_flags_get_type(), gdl_dock_object_flags_get_type(), gdl_dock_object_type_from_nick(), gdl_dock_param_flags_get_type(), gdl_dock_placement_get_type(), gdl_switcher_style_get_type(), SPConnEndPair::getEndpoints(), org::w3c::dom::svg::getPathSegType(), org::w3c::dom::svg::getPathSegTypeAsLetter(), SPDesktopWidget::getType(), Inkscape::ColorProfile::getType(), imageMapNamedCB(), Inflater::inflate(), ink_node_tool_get_type(), inkscape_get_type(), Inkscape::XML::is_element_node(), text_wrapper::IsBound(), Inkscape::Util::UnitTable::loadText(), Inkscape::Extension::Parameter::make(), nr_active_object_get_type(), nr_arena_get_type(), nr_arena_glyphs_get_type(), nr_arena_glyphs_group_get_type(), nr_arena_group_get_type(), nr_arena_image_get_type(), nr_arena_item_get_type(), nr_arena_shape_get_type(), nr_object_get_type(), nr_object_register_type(), Inkscape::Extension::Internal::GimpGrad::open(), Avoid::operator<<(), vpsc::operator<<(), DomStub::parseEntry(), persp3d_get_type(), Pedro::XmppClient::processFileMessage(), Pedro::XmppClient::processInBandByteStreamMessage(), Pedro::XmppClient::processIq(), Pedro::XmppClient::processMessage(), Inkscape::Whiteboard::SessionManager::processWhiteboardEvent(), Inkscape::Whiteboard::SessionManager::processXmppEvent(), SPAvoidRef::setConnectionPoints(), Inkscape::UI::ToolboxFactory::setOrientation(), sp_action_get_type(), sp_anchor_get_type(), sp_animate_get_type(), sp_arc_context_get_type(), sp_arc_get_type(), sp_attribute_table_get_type(), sp_attribute_widget_get_type(), sp_box3d_context_get_type(), sp_button_get_type(), sp_canvas_arena_get_type(), sp_canvas_bpath_get_type(), sp_canvas_get_type(), sp_canvas_group_get_type(), sp_canvas_item_get_type(), sp_canvastext_get_type(), sp_circle_get_type(), sp_clippath_get_type(), sp_color_gtkselector_get_type(), sp_color_icc_selector_get_type(), sp_color_notebook_get_type(), sp_color_preview_get_type(), sp_color_scales_get_type(), sp_color_selector_get_type(), sp_color_slider_get_type(), sp_color_wheel_get_type(), sp_color_wheel_selector_get_type(), sp_common_context_get_type(), sp_conn_get_route_and_redraw(), sp_connector_context_get_type(), sp_ctrlline_get_type(), sp_ctrlpoint_get_type(), sp_ctrlquadr_get_type(), sp_ctrlrect_get_type(), sp_draw_context_get_type(), sp_dropper_context_get_type(), sp_dyna_draw_context_get_type(), sp_ellipse_get_type(), sp_eraser_context_get_type(), sp_event_context_get_type(), sp_fefuncnode_set(), sp_flood_context_get_type(), sp_font_preview_get_type(), sp_font_selector_get_type(), sp_genericellipse_get_type(), sp_gradient_context_get_stop_intervals(), sp_gradient_context_get_type(), sp_gradient_drag(), sp_gradient_image_get_type(), sp_gradient_selector_get_type(), sp_gradient_vector_selector_get_type(), sp_ianimation_get_type(), sp_icon_get_type(), sp_icon_new_full(), sp_item_get_type(), sp_knot_get_type(), sp_lineargradient_get_type(), sp_lpetool_context_get_type(), sp_lpetool_context_root_handler(), sp_lpetool_mode_changed(), sp_lpetool_toolbox_prep(), sp_marker_get_type(), sp_mask_get_type(), sp_object_build(), sp_object_child_added(), sp_object_get_type(), sp_object_menu(), sp_object_repr_build_tree(), sp_paint_selector_get_type(), sp_paint_server_get_type(), sp_path_get_type(), sp_pen_context_get_type(), sp_pencil_context_get_type(), sp_polygon_get_type(), sp_radialgradient_get_type(), sp_rect_context_get_type(), sp_rect_get_type(), sp_root_get_type(), sp_select_context_get_type(), sp_shape_get_type(), sp_spiral_context_get_type(), sp_spray_context_get_type(), sp_star_context_get_type(), sp_star_get_type(), sp_stop_get_type(), sp_string_get_type(), sp_style_elem_get_type(), sp_svg_view_widget_get_type(), sp_symbol_get_type(), sp_text_context_get_type(), sp_text_get_type(), sp_textpath_get_type(), sp_tspan_get_type(), sp_tweak_context_get_type(), sp_unit_selector_get_type(), sp_use_href_changed(), sp_view_widget_get_type(), sp_widget_get_type(), sp_xmlview_attr_list_get_type(), sp_xmlview_content_get_type(), sp_xmlview_tree_get_type(), sp_zoom_context_get_type(), buildtool::trex_matchnode(), org::w3c::dom::ls::LSSerializerImpl::writeNode(), and text_wrapper::~text_wrapper().

Definition at line 321 of file polyhedron_3d.py.