!"##
# $ $%&%*
1.1Feature Modelling
!$
*?$
!!
!*
?!*
\^^`
!!!
! ! ! $
!!*?
$
!*
!!!!
* !
!!!**!!!
!
!*
!! !!
! $!!$
!**!!
! *!
$
!*!!!$
!$
!!!$
\^^`*!!$
$
!!*
1.2Limitations of Traditional Feature Manipulati- on
!!$
*
$
*
?!
! ! !
*!!$
!!
!!!*
!!!
* ! !
$
*? ! !
!!*
$ !
!*
1.3Project Goals
?!
! ! $
* !
!*
!!$!
*!
! !
$$
! ! !
$
!!*
!!
!!!*
?!!!
$!$$!!$
!$
*
!!!!
!
!
!
!*
1.4Paper Overview
$ !!
!!
*?!*
!!!
!!!!$
$!!*
! $
*
! !! !
!
*
2.THE SPIFF SYSTEM
?\`!$
?!$
*$
^^!
! ! !! !
! *
? !
*
?!
!!!!!!$
\`*
2.1Feature Classes in the SPIFFSystem
!!$
!!
*
?!
!!!*!$
!**
!*?
** ! ! ! *
!$
!!!*
!
!!
! ! !
* 2.2Feature Model
? $
*!$
! ! * ! !
*?
*
!!$
**!!*
!
*
!!!
*?$
*
!
! !!*$
!$
!!*
!!$
!*
!!
! ! !!!!$
! ** !
!*
!!!!$
!!
!*
! ! ! ! ! $
***
! !!$
*?!
!!
!!!* !$
!
"
#
$
$
#
"
%
& ''"
!
*
! !$
!
*
!!
$
!*
$
*?!!
!!
!*
!!*
3.REAL-TIME CONSTRAINT SOLVING FOR DI- RECT MANIPULATION OF FEATURES
!!
!$
*?!!$
!*
!
*
! !! $
!!!$
* ? !
\^^`
\^`*
!$
!! !$
!
!*
?!!
*
! !
!*
!!$
! *
!
!!
* 3.1The Kramer Graph
? !!
! !
* ! ! $
* !
!!!!$
!*?$
!
*!
! !
*
!!!
!! $
*
!
!
?!!
! ! !
!!!
*
3.2Solving Strategy
? !
!!*
!*?
!$
!*!$
** $
!*
?
!
!!$*
! *
*
! !*
!
*?
!$*?!!$
! !*
3.3Geometric Constraint Solving for Direct Ma- nipulation
?
!$
!!$
!*
! !*!
*
?$
$! !
*
!!$
!!
!
!*!!$
!*
?!$
!!$
*
!
!!$
! *
? !
$!
!$
* ! ! *
?!!!
*
!
*
!
!
!$
! !* !$
!
!*?
!!$
!*?
!
*
4.MANIPULATION OF FEATURES USING FEATU- RE HANDLES
4.1Target Manipulation Interface
? ! !
$
!**
!!
$
*?
*?
!!$
! ! * ? !
!!!*
?!!
!!!!*?$
! $
!*
4.2Types of Feature Handles
!
!!!!
!*
!!$
*
!
! ** !
!*
!
*!$
!!!
*?!!
!$
!* !!
!$
!
*
!
"#$
!$
!
*!!!$
!*$
*
!
*?!
! !
**
!
! $
!$
*!
! !
* !
*?$
!
!
!! !*$
!*
!!
!!!
*?!$
!*?!$
!
!**
4.3Handle Manipulation Flow of Events
?
!$
!*
!
! $$
!$
*?$
*
!!
*?
! ! *
?!!!
! **
*
!!
* 5.CONCLUSIONS
!!!$
!*?!
!!!!$
$
!*?$
! *
^
!$
$
!*^!
*
!!
!$
!*?!
! ! ! !
* $
*
$
!!!
!$
!!!*
!! ! $
*
!
*
! !
!!!¡*
! !$
!*?
!!!$
!*
?!*
? !
!!
$*!
*
! ? ^
!!
¡ !!!$
!!
*
\^^`*^^^¢!
!?$
?!?
\`***$
!*$
$
\`*$!$
!?$
?!?
\^£`*^^£$$
??$
!?
\^`**^^!
!!!?
?*
\`*$¢$
?
?!?
\^`*^^?!$
?!!^$£$*
!!
*
\^`*^^?!$
!¤
!!!$
¤*
\`?
\`!!