[LON-CAPA-cvs] cvs: loncom /homework functionplotresponse.pm
www
www at source.lon-capa.org
Thu Nov 24 10:43:08 EST 2011
www Thu Nov 24 15:43:08 2011 EDT
Modified files:
/loncom/homework functionplotresponse.pm
Log:
Check for attachment of list of objects
Index: loncom/homework/functionplotresponse.pm
diff -u loncom/homework/functionplotresponse.pm:1.86 loncom/homework/functionplotresponse.pm:1.87
--- loncom/homework/functionplotresponse.pm:1.86 Thu Nov 24 13:43:21 2011
+++ loncom/homework/functionplotresponse.pm Thu Nov 24 15:43:08 2011
@@ -1,7 +1,7 @@
# LearningOnline Network with CAPA
# Functionplot responses
#
-# $Id: functionplotresponse.pm,v 1.86 2011/11/24 13:43:21 www Exp $
+# $Id: functionplotresponse.pm,v 1.87 2011/11/24 15:43:08 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -783,39 +783,17 @@
$vector=~s/\W//gs;
$vector=ucfirst($vector);
- my $attachpoint=&Apache::lonxml::get_param('attachpoint',$parstack,$safeeval);
- $attachpoint=~s/\W//gs;
- $attachpoint=ucfirst($attachpoint);
-
- my $notattachpoint=&Apache::lonxml::get_param('notattachpoint',$parstack,$safeeval);
- $notattachpoint=~s/\W//gs;
- $notattachpoint=ucfirst($notattachpoint);
-
- my $tailpoint=&Apache::lonxml::get_param('tailpoint',$parstack,$safeeval);
- $tailpoint=~s/\W//gs;
- $tailpoint=ucfirst($tailpoint);
- my $tippoint=&Apache::lonxml::get_param('tippoint',$parstack,$safeeval);
- $tippoint=~s/\W//gs;
- $tippoint=ucfirst($tippoint);
-
- my $nottailpoint=&Apache::lonxml::get_param('nottailpoint',$parstack,$safeeval);
- $nottailpoint=~s/\W//gs;
- $nottailpoint=ucfirst($nottailpoint);
- my $nottippoint=&Apache::lonxml::get_param('nottippoint',$parstack,$safeeval);
- $nottippoint=~s/\W//gs;
- $nottippoint=ucfirst($nottippoint);
-
push(@Apache::functionplotresponse::functionplotvectorrules,join(':',(
$label,
'vector',
$internalid,
$vector,
- $attachpoint,
- $notattachpoint,
- $tailpoint,
- $tippoint,
- $nottailpoint,
- $nottippoint,
+ &Apache::lonxml::get_param('attachpoint',$parstack,$safeeval),
+ &Apache::lonxml::get_param('notattachpoint',$parstack,$safeeval),
+ &Apache::lonxml::get_param('tailpoint',$parstack,$safeeval),
+ &Apache::lonxml::get_param('tippoint',$parstack,$safeeval),
+ &Apache::lonxml::get_param('nottailpoint',$parstack,$safeeval),
+ &Apache::lonxml::get_param('nottippoint',$parstack,$safeeval),
&Apache::lonxml::get_param('length',$parstack,$safeeval),
&Apache::lonxml::get_param('angle',$parstack,$safeeval),
&Apache::lonxml::get_param('lengtherror',$parstack,$safeeval),
@@ -850,12 +828,6 @@
&Apache::edit::end_row();
} elsif ($target eq 'modified') {
$env{'form.'.&Apache::edit::html_element_name('vector')}=ucfirst($env{'form.'.&Apache::edit::html_element_name('vector')});
- $env{'form.'.&Apache::edit::html_element_name('attachpoint')}=ucfirst($env{'form.'.&Apache::edit::html_element_name('attachpoint')});
- $env{'form.'.&Apache::edit::html_element_name('notattachpoint')}=ucfirst($env{'form.'.&Apache::edit::html_element_name('notattachpoint')});
- $env{'form.'.&Apache::edit::html_element_name('tailpoint')}=ucfirst($env{'form.'.&Apache::edit::html_element_name('tailpoint')});
- $env{'form.'.&Apache::edit::html_element_name('tippoint')}=ucfirst($env{'form.'.&Apache::edit::html_element_name('tippoint')});
- $env{'form.'.&Apache::edit::html_element_name('nottailpoint')}=ucfirst($env{'form.'.&Apache::edit::html_element_name('nottailpoint')});
- $env{'form.'.&Apache::edit::html_element_name('nottippoint')}=ucfirst($env{'form.'.&Apache::edit::html_element_name('nottippoint')});
my $constructtag=&Apache::edit::get_new_args($token,$parstack,
$safeeval,'index','vector','attachpoint','notattachpoint',
'tailpoint','tippoint','nottailpoint','nottipoint',
@@ -1470,16 +1442,27 @@
}
sub attached {
- my ($id,$vector,$object,$xmin,$xmax,$ymin,$ymax)=@_;
+ my ($id,$vector,$objects,$xmin,$xmax,$ymin,$ymax)=@_;
my ($xs,$xe,$ys,$ye)=&vectorcoords($id,$vector);
- my ($xo,$yo)=&objectcoords($id,$object);
my $tolx=($xmax-$xmin)/100.;
my $toly=($ymax-$ymin)/100.;
my $tail=0;
my $tip=0;
- &addlog("Proximity $vector ($xs,$ys)-($xe,$ye) to $object ($xo,$yo)");
- if ((abs($xs-$xo)<$tolx) && (abs($ys-$yo)<$toly)) { $tail=1; }
- if ((abs($xe-$xo)<$tolx) && (abs($ye-$yo)<$toly)) { $tip=1; }
+ foreach my $obj (split(/\s*\,\s*/,$objects)) {
+ $obj=~s/\W//g;
+ unless ($obj) { next; }
+ $obj=ucfirst($obj);
+ my ($xo,$yo)=&objectcoords($id,$obj);
+ &addlog("Proximity $vector ($xs,$ys)-($xe,$ye) to $obj ($xo,$yo)");
+ if ((abs($xs-$xo)<$tolx) && (abs($ys-$yo)<$toly)) {
+ $tail=1;
+ &addlog("Attached tail: $obj");
+ }
+ if ((abs($xe-$xo)<$tolx) && (abs($ye-$yo)<$toly)) {
+ $tip=1;
+ &addlog("Attached tip: $obj");
+ }
+ }
&addlog("Result tail:$tail tip:$tip");
return($tail,$tip);
}
More information about the LON-CAPA-cvs
mailing list