Lines Matching refs:Persp3D
15 #define SP_PERSP3D(obj) (dynamic_cast<Persp3D*>((SPObject*)obj))
16 #define SP_IS_PERSP3D(obj) (dynamic_cast<const Persp3D*>((SPObject*)obj) != NULL)
54 // friend class Persp3D;
57 class Persp3D : public SPObject {
59 Persp3D();
60 virtual ~Persp3D();
77 inline Persp3D * persp3d_get_from_repr (Inkscape::XML::Node *repr) {
80 inline Proj::Pt2 persp3d_get_VP (Persp3D *persp, Proj::Axis axis) {
83 Geom::Point persp3d_get_PL_dir_from_pt (Persp3D *persp, Geom::Point const &pt, Proj::Axis axis); // convenience wrapper around the following two
84 Geom::Point persp3d_get_finite_dir (Persp3D *persp, Geom::Point const &pt, Proj::Axis axis);
85 Geom::Point persp3d_get_infinite_dir (Persp3D *persp, Proj::Axis axis);
86 double persp3d_get_infinite_angle (Persp3D *persp, Proj::Axis axis);
88 void persp3d_toggle_VP (Persp3D *persp, Proj::Axis axis, bool set_undo = true);
89 void persp3d_toggle_VPs (std::list<Persp3D *>, Proj::Axis axis);
90 void persp3d_set_VP_state (Persp3D *persp, Proj::Axis axis, Proj::VPState state);
91 void persp3d_rotate_VP (Persp3D *persp, Proj::Axis axis, double angle, bool alt_pressed); // angle is in degrees
92 void persp3d_apply_affine_transformation (Persp3D *persp, Geom::Affine const &xform);
94 void persp3d_add_box (Persp3D *persp, SPBox3D *box);
95 void persp3d_remove_box (Persp3D *persp, SPBox3D *box);
96 bool persp3d_has_box (Persp3D *persp, SPBox3D *box);
98 void persp3d_update_box_displays (Persp3D *persp);
99 void persp3d_update_box_reprs (Persp3D *persp);
100 void persp3d_update_z_orders (Persp3D *persp);
101 inline unsigned int persp3d_num_boxes (Persp3D *persp) { return persp->perspective_impl->boxes.size(); }
102 std::list<SPBox3D *> persp3d_list_of_boxes(Persp3D *persp);
104 bool persp3d_perspectives_coincide(Persp3D const *lhs, Persp3D const *rhs);
105 void persp3d_absorb(Persp3D *persp1, Persp3D *persp2);
107 Persp3D * persp3d_create_xml_element (SPDocument *document, Persp3DImpl *dup = NULL);
108 Persp3D * persp3d_document_first_persp (SPDocument *document);
110 bool persp3d_has_all_boxes_in_selection (Persp3D *persp, Inkscape::Selection *selection);
112 void persp3d_print_debugging_info (Persp3D *persp);
116 void print_current_persp3d(char *func_name, Persp3D *persp);