[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r5168 - /trunk/getfem/interface/src/gf_mesher_object.cc
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r5168 - /trunk/getfem/interface/src/gf_mesher_object.cc |
Date: |
Tue, 08 Dec 2015 11:49:18 -0000 |
Author: renard
Date: Tue Dec 8 12:49:17 2015
New Revision: 5168
URL: http://svn.gna.org/viewcvs/getfem?rev=5168&view=rev
Log:
small simplification
Modified:
trunk/getfem/interface/src/gf_mesher_object.cc
Modified: trunk/getfem/interface/src/gf_mesher_object.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/interface/src/gf_mesher_object.cc?rev=5168&r1=5167&r2=5168&view=diff
==============================================================================
--- trunk/getfem/interface/src/gf_mesher_object.cc (original)
+++ trunk/getfem/interface/src/gf_mesher_object.cc Tue Dec 8 12:49:17 2015
@@ -44,7 +44,7 @@
int arg_in_min, arg_in_max, arg_out_min, arg_out_max;
virtual void run(getfemint::mexargs_in& in,
getfemint::mexargs_out& out,
- pgetfemint_mesher_object &pmo) = 0;
+ getfem::pmesher_signed_distance &psd) = 0;
};
typedef std::shared_ptr<sub_mesher_object> psub_command;
@@ -56,7 +56,7 @@
struct subc : public sub_mesher_object { \
virtual void run(getfemint::mexargs_in& in, \
getfemint::mexargs_out& out, \
- pgetfemint_mesher_object &pmo) \
+ getfem::pmesher_signed_distance &psd) override \
{ dummy_func(in); dummy_func(out); code }
\
}; \
psub_command psubc = std::make_shared<subc>(); \
@@ -85,10 +85,7 @@
getfem::base_node bncenter(gmm::vect_size(center));
gmm::copy(center, bncenter);
- getfem::pmesher_signed_distance ball
- = getfem::new_mesher_ball(bncenter, radius);
-
- pmo = getfemint_mesher_object::get_from(ball);
+ psd = getfem::new_mesher_ball(bncenter, radius);
);
/address@hidden MF = ('half space', @vec origin, @vec normal_vector)
@@ -107,14 +104,12 @@
getfem::base_node bnn(gmm::vect_size(n));
gmm::copy(n, bnn);
- getfem::pmesher_signed_distance half
- = getfem::new_mesher_half_space(bnorigin, bnn);
-
- pmo = getfemint_mesher_object::get_from(half);
+ psd = getfem::new_mesher_half_space(bnorigin, bnn);
);
/address@hidden MF = ('cylinder', @vec origin, @vec n, @scalar length,
@scalar radius)
- Represents a cylinder (in any dimension) of a certain radius whose axis
is determined by the origin, a vector `n` and a certain length.
+ Represents a cylinder (in any dimension) of a certain radius whose axis
+ is determined by the origin, a vector `n` and a certain length.
@*/
sub_command
("cylinder", 4, 4, 0, 1,
@@ -128,14 +123,12 @@
getfem::base_node bnn(gmm::vect_size(n));
gmm::copy(n, bnn);
- getfem::pmesher_signed_distance cyl
- = getfem::new_mesher_cylinder(bnorigin, bnn, length, radius);
-
- pmo = getfemint_mesher_object::get_from(cyl);
- );
-
- /address@hidden MF = ('cone', @vec origin, @vec n, @scalar length,
@scalar half_angle)
- Represents a cone (in any dimension) of a certain half-angle (in
radians) whose axis is determined by the origin, a vector `n` and a certain
length.
+ psd = getfem::new_mesher_cylinder(bnorigin, bnn, length, radius);
+ );
+
+ /address@hidden MF = ('cone', @vec origin, @vec n, @scalar length, @scalar
half_angle)
+ Represents a cone (in any dimension) of a certain half-angle (in radians)
+ whose axis is determined by the origin, a vector `n` and a certain
length.
@*/
sub_command
("cone", 4, 4, 0, 1,
@@ -149,10 +142,7 @@
getfem::base_node bnn(gmm::vect_size(n));
gmm::copy(n, bnn);
- getfem::pmesher_signed_distance cone
- = getfem::new_mesher_cone(bnorigin, bnn, length, half_angle);
-
- pmo = getfemint_mesher_object::get_from(cone);
+ psd = getfem::new_mesher_cone(bnorigin, bnn, length, half_angle);
);
/address@hidden MF = ('torus', @scalar R, @scalar r)
@@ -164,11 +154,7 @@
("torus", 2, 2, 0, 1,
double R = in.pop().to_scalar();
double r = in.pop().to_scalar();
-
- getfem::pmesher_signed_distance torus
- = getfem::new_mesher_torus(R, r);
-
- pmo = getfemint_mesher_object::get_from(torus);
+ psd = getfem::new_mesher_torus(R, r);
);
@@ -187,10 +173,7 @@
getfem::base_node rrmin(N); getfem::base_node rrmax(N);
gmm::copy(rmin, rrmin); gmm::copy(rmax, rrmax);
- getfem::pmesher_signed_distance rectangle
- = getfem::new_mesher_rectangle(rrmin, rrmax);
-
- pmo = getfemint_mesher_object::get_from(rectangle);
+ psd = getfem::new_mesher_rectangle(rrmin, rrmax);
);
@@ -199,21 +182,12 @@
@*/
sub_command
("intersect", 2, 100, 0, 1,
-
std::vector<getfem::pmesher_signed_distance> vd;
-
- getfem::pmesher_signed_distance psd
- = in.pop().to_const_mesher_object();
- vd.push_back(psd);
-
- while (in.remaining()) {
- psd = in.pop().to_const_mesher_object();
- vd.push_back(psd);
- }
-
- getfem::pmesher_signed_distance psd2
- = getfem::new_mesher_intersection(vd);
- pmo = getfemint_mesher_object::get_from(psd2);
+ vd.push_back(in.pop().to_const_mesher_object());
+ while (in.remaining())
+ vd.push_back(in.pop().to_const_mesher_object());
+
+ psd = getfem::new_mesher_intersection(vd);
);
/address@hidden MF = ('union', @tmo object1 , @tmo object2, ...)
@@ -221,20 +195,12 @@
@*/
sub_command
("union", 2, 100, 0, 1,
-
std::vector<getfem::pmesher_signed_distance> vd;
-
- getfem::pmesher_signed_distance psd
- = in.pop().to_const_mesher_object();
- vd.push_back(psd);
-
- while (in.remaining()) {
- psd = in.pop().to_const_mesher_object();
- vd.push_back(psd);
- }
-
- getfem::pmesher_signed_distance psd2 = getfem::new_mesher_union(vd);
- pmo = getfemint_mesher_object::get_from(psd2);
+ vd.push_back(in.pop().to_const_mesher_object());
+ while (in.remaining())
+ vd.push_back(in.pop().to_const_mesher_object());
+
+ psd = getfem::new_mesher_union(vd);
);
/address@hidden MF = ('set minus', @tmo object1 , @tmo object2)
@@ -242,21 +208,15 @@
@*/
sub_command
("set minus", 2, 100, 0, 1,
-
- getfem::pmesher_signed_distance psd1
- = in.pop().to_const_mesher_object();
- getfem::pmesher_signed_distance psd2
- = in.pop().to_const_mesher_object();
-
- getfem::pmesher_signed_distance psd
- = getfem::new_mesher_setminus(psd1, psd2);
- pmo = getfemint_mesher_object::get_from(psd);
+ getfem::pmesher_signed_distance psd1 =
in.pop().to_const_mesher_object();
+ getfem::pmesher_signed_distance psd2 =
in.pop().to_const_mesher_object();
+ psd = getfem::new_mesher_setminus(psd1, psd2);
);
}
if (m_in.narg() < 1) THROW_BADARG("Wrong number of input arguments");
- getfemint_mesher_object *pmo = NULL;
+ getfem::pmesher_signed_distance psd;
std::string init_cmd = m_in.pop().to_string();
std::string cmd = cmd_normalize(init_cmd);
@@ -267,10 +227,10 @@
check_cmd(cmd, it->first.c_str(), m_in, m_out, it->second->arg_in_min,
it->second->arg_in_max, it->second->arg_out_min,
it->second->arg_out_max);
- it->second->run(m_in, m_out, pmo);
+ it->second->run(m_in, m_out, psd);
}
else bad_cmd(init_cmd);
-
+ getfemint_mesher_object *pmo = getfemint_mesher_object::get_from(psd);
m_out.pop().from_object_id(pmo->get_id(), MESHER_OBJECT_CLASS_ID);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r5168 - /trunk/getfem/interface/src/gf_mesher_object.cc,
Yves . Renard <=