Home
vantage - The Robotics Institute
Contents
1. csgnode b4 cu 3000 3000 100 trans 00 155 0 0 0 csgnode b5 uni bil b2 csgnode b6 uni b5 b3 csgnode bodyl dif b6 b4 fast all Set the angle unit to its previous value restore angle mode Generate boundary representation for bodyl called bodviz boun rep bodyl Compute scaling and translation factors so that bodyl fits on the display window and draw bodyl The camera is the current display camera which has a default definition but which can be redefined fit screen bodyl Define 3d scene scene my scene bodyl Define a camera camera caml 2000 1000 500 focal 5 Generate 2D description image my scene caml image name my image Compute scaling and translation factors so that my image fits on 77 the display window and draw my image image fit screen my image t 39 This second example shows an interactive session in which operations similar to the ones of the previous example are performed plus the following operations e definition of a light source e generation of the 3D properties of the scene for the light source e generation of the 2D properties of the image by projection of the 3D properties of the scene e display of the 2D property regions Figures B 1 and B 2 show the resulting image and the property regions associated with the light source 40 gt csgnode al cu 100 100 100 NE a2 cu
2. CURVE NAME is a type move rigid motion Or CURVE NAME is a type mirror mirror plane rigid motion Slots is a Value curve type Value either cir or any combination of 2 surfaces chosen among plane cyl con sph e g plane cyl con con cyl sph etc Gives the type of the curve or the types of the 2 surfaces whose intersection generate the curve parameters Value list of float numbers defining the curve When the type of the curve is cir it lists the radius and elevation z coordinate of the curve rigid motion Value motion matrix The motion matrix gives either the position of the curve in the world coor dinates frame or when the move or mirror slot exists the transformation to apply to the specified curve move Value curve 57 If specified indicates that the curve is obtained by applying the specified rigid motion to the specified curve mirror Value curve If specified indicates that the curve is obtained by applying the specified mirror operation to he specified curve and then by applying the specified rigid motion mirror plane Value list of 4 float numbers Defines the mirror plane by listing the coordinates of its normal vector and the orthogonal distance between the plane and the origin inter Value list containing 2 surfaces or one surface and one plane Points to the 2 surfaces whose intersection defines the curve If one surface is a plane it is sp
3. Points to the p vertex in the winged edge representation of this edge n vertex Value 3d vertex Points to the n vertex in the winged edge representation of this edge edge curve Value curve Points to the curve that contains the edge edge kind Value aux aux indicates that the edge is an auxiliary edge which divides a curved surface into auxiliary planar surfaces for the purpose of approximation edge class Value either global or app Indicates whether this face was combined with other faces to generate a parent face A global edge has no parent edge An app face has a parent face obtained by grouping 2 set of connected faces that approximate a Same curve edge parent Value 3d edge Inverse edge children Points to the parent edge of this edge edge subdivision Value app This slot indicates whether this edge is divided into children edges It is app if the edge was obtained by grouping a set of connected edges that approximate a same curve edge children Value list of 3d edges Inverse edge parent Points to the list of edges that generated this edge app grouped p face Value 3d face Parent face o the p face of the edge app grouped n face Value 3d face Parent face of the n face of the edge 51 app grouped pcw Value 3d edge Parent edge of the pcw edge of the edge app grouped nccw Value 3d edge Parent edge of the nccw edge of the edge app grouped pccw Value 3d edge Parent e
4. 26 DESCRIBE CSG NODE 19 DESCRIBE CSG NODES 19 DISPLAY PROPERTY 34 DISPLAY SCENE 34 DOT PRODUCT 29 DRAW ARC 32 DRAW BODY 31 DRAW EDGE 31 DRAW FACE 31 DRAW IMAGE 32 DRAW JOINT 32 DRAW REGION 32 DRAW VERTEX 31 EDGE LIST OF VERTEX 28 GET ALL ORDERED VERTICES 28 GET ORDERED VERTICES 28 GET VERTEX LIST 28 HOMO PROD 30 IMAGE 26 IMAGE FIT SCREEN 33 LENGTH OF VECTOR 29 LIGHT SOURCE 22 MAKE SENSOR COMPONENT 22 MERGE LIGHT PROPERTIES 25 MK COMBINED TRANSFORMATION 17 MK MOTION MATRIX 16 MK ROTATION 16 MK TRANSLATION 16 MOVE CSG NODE 16 NEIGHBOR FACES 28 NEXT EDGE 28 NORM OF VECTOR 29 PAINT PROPERTY ON IMAGE 27 POINT LINE DISTANCE 30 PREVIOUS EDGE 28 PROJECT AND BACK PROJECT 25 RAD 29 RESTORE ANGLE MODE 29 ROTATE CAMERA AROUND AXIS 23 SAVE ANGLE MODE 29 74 SCENE 24 SHADE FACE 31 SHADE POLYGON 31 SHADEL 34 SHADEW 34 SHOW AXIS 32 VERTEX MATCH 31 WINDOW ZOOM 33 ZOOM 33 Function Framekit ADD FILLER 70 ADD FILLERS 70 ADD VALUE 69 ADD VALUES 69 CREATE FACET 68 CREATE FRAME 68 CREATE SLOT 68 ERASE FACET 70 ERASE FILLER 70 ERASE FRAME 70 ERASE FRAMES 70 ERASE SLOT 70 ERASE VALUES 70 FACET NAMES 71 FRAME P 71 GET FILLERS 71 GET VALUES 71 MAKE FRAME 68 MAKE FRAME 69 MK FRAME 69 MK FRAME 69 REPLACE FILLER 71 REPLACE VALUE 70 SLOT NAMES 71 GET ALL ORDERED VERTICES Function 28 GET FILLERS Function 71 GET ORDERED VERTICES Function 28 GET VALUES Function 71 GET VERTEX LIST Function 28 HOMO P
5. 80 80 200 S rescued a3 cu 80 200 80 ere a4 cu 200 80 80 eds a5 dif al a2 gt esgnode a6 dif a5 a3 gt csgnode a7 dif a6 a4 fast all A7 gt csgnode ground cu 1000 1000 10 trans 0 0 100 0 Q Q GROUND gt boun rep a A7 gt boun rep ground GROUND gt scene sl a7 ground S1 gt camera cl 300 200 450 focal 1 Cl gt light source 11 200 300 450 focal 1 Ll gt image sl cl lights 11 image name il merge shadows nil I1 gt image fit screen il I1 gt paint property on image il back 11 BACK L1 gt paint property on image il occluded 11 OCCLUDED L1 gt paint property on image il visible 11 VISIBLE L1 gt merge light properties sl 11 L1 gt paint property on image il occluded 11 OCCLUDED L1 gt display property il back 11 BACK L1 gt display property il split occluded 11 SPLIT OCCLUDED L1 gt display property il occluded 11 OCCLUDED L1 gt display property 11 visible 11 VISIBLE L1 41 zooming th shadows after window in and wi Image il pla Figure B 1 ible li split occluded l1 occluded l1 visi back 11 rojected on il 11 property regions p Figure B 2 42 Appendix C Standard Frames The next pages give the definition of the frames used in VANTAGE For each type of frame the corresponding slots are listed along with a brief description of each Optional slots are marked
6. Mathematical functions DEG Sets the angle mode variable to deg RAD Sets the angle mode variable to rad ANGLE MODE Determines the unit deg or rad for the angles SAVE ANGLE MODE Saves the current angle node To be used in conjunction with the restore angle mode function RESTORE ANGLE MODE Sets the angle mode to the value it had when calling save angle mode DEG TO RAD deg angle Retums the value in radians of an angle in degrees CROSS PRODUCT vector vector2 Returns the cross product vector of vector and vector2 DOT PRODUCT vector vector2 Returns the dot product of vector and vector2 LENGTH OF VECTOR vector Returns the length norm of vector NORM OF VECTOR vector function function variable function function function function function function function 30 Divides vector by its norm Returns the normalized vector ANGLE BETWEEN VECTORS vector vector2 direction function Returns the angle in radians between vector and vector2 The vector direction determines the sign of the angle POINT LINE DISTANCE xyz line xyz I line xyz 2 function Returns the orthogonal distance between a point and a line given by the coordinates of two points HOMO PROD amp rest transf matrices function Returns the matrix obtained by making the matrix product of the specified transformation matrices 10 3 Display functions vantage window i
7. Value float number or NIL Maximum angle in degrees between the normal of a face and the projection direction for which the face is visible NIL corresponds to a limit angle of 90 degrees 60 PROPERTY LIST Description Representation of properties for a particular 3D face or 2D region Frame PROPERTY LIST NAME is a property 1 property 2 5 Slots is a Value property list property 1 property 2 etc Each slot represents a different property specified by the name of the slot Value list of polygons where a polygon is a list of boundaries outer then hole s and where a boundary is a list of vertices each one represented by a list containing its x and y coordinates in 2 D or x y and z coordinates 3 D or T Defines the region s of the face where the property applies If T the property applies to the whole face 61 PROPERTY Description Each property frame has a name that is the name of a property e g occluded L1 and lists the 3 D faces and the 2 D regions that have that property Frame PROPERTY NAME is a 3d faces 2d regions Slots is a Value property 3d faces Value list of faces in one or several scene s that have the property 2d regions Value list of regions in one or several image s that have the property 62 2D IMAGE Description Definition of a 2d image Frame 2D IMAGE NAME is a image 3d scene image camera image light s
8. The 2 D properties are stored in the property list frames of the regions with the slot name image name see page 60 the format of a property list frame is identical in 2 D and 3 D The property frames see page 61 are automatically updated PAINT PROPERT Y ON IMAGE image name property name PAINT PROPERTY ON IMAGE is like PAINT PROPERTY ON IMAGE except that it evaluates its arguments macro function 28 10 Miscellaneous Functions and Variables 10 1 Functions dealing with Boundary representation PREVIOUS EDGE edge face function Returns the edge that comes before edge on face NEXT EDGE edge face function Retums the edge that comes after edge on face GET VERTEX LIST face function Returns the list of vertices of face The vertices are not ordered GET ORDERED VERTICES face function Returns the ordered list of vertices of the outer boundary of face GET ALL ORDERED VERTICES face function Returns a list that contains the ordered lists of vertices of the boundaries of face outer boundary and hole boundaries NEIGHBOR FACES face function Retums the list of faces that have at least in edge in common with face FACEL EDGEL OF VERTEX vertex function Returns a list that contains the list of edges that have vertex as an end and the list of faces that have vertex aS a vertex EDGE LIST OF VERTEX vertex function Returns the list of edges that have vertex as an end 29 10 2
9. a solid using csgnode if the specified name is already used then VANTAGE asks if it should use another name or replace the existing solid by the new one DELETE CSG NODE node name macro Deletes the node node name and its boundary representation if it exists Also deletes the parent csg nodes of the node if any after confirmation from the user 19 DELETE CSG NODE node name DELETE CSG NODE is like DELETE CSG NODE except that it evaluates its argument 5 6 Information on the CSG Tree The CSG Tree specifies how the solids are created and stores all the node operations in a tree structure Each node will correspond to a 3D solid The leaf nodes are primitive solids The other nodes are obtained by applying an operation on its child nodes CSG TREE Prints out information on the existing CSG nodes DESCRIBE CSG NODE node name Prints out all the operations involved in the creation of the solid corresponding to node name DESCRIBE CSG NODE node name DESCRIBE CSG NODE is like DESCRIBE CSG NODE except that it evaluates its arguments DESCRIBE CSG NODES Calls the function describe csg node for all the nodes function function macro function function 20 6 Boundary Representation This chapter describes the functions that generate the boundary representation of a solid BOUN REP node name macro Creates a complete 3d boundary representation for the solid defined by the node This repr
10. approximated edges by their parent edge 49 Description Representation of an edge of a body Frame 3D EDGE NAME is a edge body edge type p face n face pew nccw pecw ncw p vertex n vertex edge curve edge kind edge class edge parent edge subdivision edge children app grouped p face app grouped n face app grouped pcw app grouped nccw app grouped pccw app grouped ncw Slots is a Value 3d edge edge body Value 3d body Inverse body edge list Points to the 3d body that contains the edge edge type Value either line cir or any combination of 2 surfaces chosen among plane cyl con sph e g plane cyl con con cyl sph etc Gives the type of the curve that contains the edge or the types of the 2 surfaces whose intersection contains the edge p face Value 3d face Points to the p face in the winged edge representation of this edge n face Value 3d face Points to the n face in the winged edge representation of this edge 50 pcw Value 3d edge Points to the pcw edge in the winged edge representation of this edge nccw Value 3d edge Points to the nccw edge in the winged edge representation of this edge pccw Value 3d edge Points to the pccw edge in the winged edge representation of this edge ncw Value 3d edge Points to the ncw edge in the winged edge representation of this edge p vertex Value 3d vertex
11. blinking effect DRAW IMAGE image name Draws the specified 2d image on the vantage window DRAW REGION region name Draws the specified 2d region on the vantage window DRAW ARC arc name Draws the specified 2d arc on the vantage window DRAW JOINT joint name radius Draws the specified 2d joint on the vantage window SHOW AXIS amp optional length Draws the current x y and z axis on the screen function function function function function function function function function 33 CURRENT BODY variable Name of the last body that has been selected on the choose body menu CURRENT IMAGE variable Name of the last image that has been selected on the choose image menu FIT SCREEN amp optional solid name current body macro Adjusts the display size so that the specified body is entirely inside the window FIT SCREEN amp optional solid name current body function FIT SCREEN is like FIT SCREEN except that it evaluates its argument IMAGE FIT SCREEN optional image name current image macro Adjusts the display size so that the specified image is entirely inside the window IMAGE FIT SCREEN amp optional image name current image function IMAGE FIT SCREEN is like IMAGE FIT SCREEN except that it evaluates its argument WINDOW ZOOM function Redisplays the portion of the window selected by two successive middle mouse button clicks The selected region will be enlarge
12. cameras and light sources In can also include combinations of cameras and light sources sensor components using AND and OR operations CAMERA name location key target 0 0 0 focal nil limit angle nil Creates a camera that is positioned at location x y z and that points toward target with the specified focal length limit angle is the maximum angle in degrees between the normal of a face and the viewing direc tion for which the face is visible The default NIL value for limit angle corresponds to a limit angle of 90 degrees CAMERA name location key target 0 0 0 focal nil limit angle NIL CAMERA is like CAMERA except that it evaluates its arguments LIGHT SOURCE name location key target 0 0 0 focal nil limit angle NIL Creates a light source that is positioned at location x y z and that points toward target with the specified focal length limit angle is the maximum angle in degrees between the normal of a face and the lighting direc tion for which the face is lit The default NIL value for limit angle corresponds to a limit angle of 90 degrees LIGHT SOURCE name location key target 0 0 0 focal nil limit angle NIL LIGHT SOURCE is like LIGHT SOURCE except that it evaluates its arguments MAKE SENSOR COMPONENT name type params key focal NIL limit angle NIL Creates a camera or a light source with the given parameters type is either camera or light parame
13. connected faces that are specified by the user The new faces that are created are at the 21 top level in the hierarchy of faces see Figure 3 5 If a boundary representation has not been generated yet boun rep is first called This main application of this function is to merge connected faces that have a continuous normal across the connecting edge Since VANTAGE approximates all the higher order surfaces by planar polyhedra it is impossible to automatically detect those edges across which the merge should take place So it requires interaction from the user through mouse input For merging some faces some small faces may have to be created at the boundary of a surface due to the approximation of the surface Such configurations are first detected and the user is asked to confirm any modification Then the user can enter the faces he wants to merge Any selected face is then considered as an approximated face and grouped with its neighbors to create the parent faces 3D node name function 3D is like 3D except that it evaluates its arguments The boundary representation of a node can be deleted using DELETE BOUN REP node name macro Deletes the boundary representation of the node node name if it exists with all its vertices edges faces DELETE BOUN REP node name function DELETE BOUN REP is like DELETE BOUN REP except that it evaluates its argument 22 7 Sensors The definition of sensor applies to
14. left child of the node node right Value CSG NODE For a solid that results from an operation the right child of the node fast Value T When it is T then the boundary representation of the child nodes of the node will not be copied saved before performing on them the operation that will create the boundary representation of the node surface list Value list of surfaces List of the non planar surfaces contained in the body curve list Value list of curves List of the non linear curves contained in the body 45 3D BODY Description Representation of a solid or body Frame 3D BODY NAME is a body csg node body rigid motion body face list body edge list body vertex list body cfg list body app grouped faces body app grouped edges body merged faces Slots is a Value 3d body body csg node Value csg node Inverse boundary rep Points to the csg node that defines the body body rigid motion Value motion matrix The transformation gives the location of the current body coordinates frame in the world coordinates body face list Value list of 3d faces Inverse face body Lists all the faces of the body body edge list Value list of 3d edges Inverse edge body Lists all the edges of the body body vertex list Value list of 3d vertices Inverse vertex body Lists all the vertices of the body body cfg list Value list of lists of 3d faces Lists all th
15. programs A large collection of frames is sometimes called a knowledge base Because frames also support demons and inheritance they are particularly useful for representing the knowledge in AI programs Frames are abstract data types comprised of slots facets views and fillers Each frame can have any number of slots Each slot can have any number of facets and each facet can have any number of views and each view can have any number of fillers Frames differ from traditional record structures in that slots facets and views can be allocated and removed at run time There are some facets that are pre defined by FRAMEKIT to handle demons and inheritance The general structure of a frame is as follows FrameName SlotName VALUE VIEW list of values VIEW list of values IF ADDED demon list IF NEEDED demon list IF ERASED demon list IF ACCESSED demon list RESTRICTIONS predicate list DEFAULT list of values user defined uc 0 77 0707 ass a ose SlotName 68 Please refer to FRAMEKIT manual for the complete syntax D 2 Frame creation CREATE FRAME frame function The argument to CREATE FRAME must be a symbol The symbol is checked to see if a frame of that name already exists if not a new frame is created and added to FRAME LIST The frame name is retumed if the creation took place otherwise NIL is returned CREATE SLOT frame slot function If the frame already exi
16. the specified vertex on the vantage window SHADE FACE face name Shades the given face depending on the face normal SHADE POLYGON ink amp rest lists Shades a region given by the set of lists of vertices The first one correspond to the outer boundary and the remaining ones are the holes VERTEX MATCH x position y position amp optional close Returns the nearest displayed vertex on the vantage window with respect to the given x and y positions The current position of the mouse is stored in mouse x and mouse y If more than one vertex is encountered within the range given by close it will retum one of them frame function function function function function function function 32 EDGE MATCH x position y position amp optional close Retums the nearest displayed edge on the vantage window with respect to the given x and y posi tions If more than one edge is encountered within the range given by close it will retum one of them FACE MATCH edgel edge2 Returns the name of a face that has both edge and edge2 as edges FLASH FACE face name Highlights or erases the existing highlight on the specified face This is a very useful debugging tool Multiple calis to flash face results in a blinking effect FLASH EDGE edge name amp optional width Highlights or erases the existing highlight on the specified edge This is a very useful debugging tool Multiple calls to flash edge results in a
17. 2d arcs Lists the outer boundary of the region region hole boun list Value list of lists of 2d arcs Lists the boundaries of the holes of the region region properties Value property list Points to the frame that lists the properties of the region 64 2D ARC Description Representation of an arc of a 2d image Frame 2D ARC NAME is a arc image 3d edge p joint n joint p region n region pew nccw pccw ncw Slots is a Value 2d arc arc image Value 2d image Inverse image arc list Points to the 2d image that contains the arc 3d edge Value 3d edge Points to the 3d edge that generated the arc p joint Value 2d joint Points to the p joint in the winged edge representation of this arc n joint Value 2d joint Points to the n joint in the winged edge representation of this arc p region Value 2d region Points to the p region in the winged edge representation of this arc n region Value 2d region Points to the n region in the winged edge representation of this arc pcw Value 2d arc Points to the pcw arc in the winged edge representation of this arc nccw Value 2d arc Points to the nccw arc in the winged edge representation of this arc pccw ncw Value 2d arc Points to the pccw arc in the winged edge representation of this arc Value 2d arc Points to the ncw arc in the winged edge representation of this arc 65 66 Description Represe
18. GNODE solid name primitive type parameters amp key trans identity macro or the function CSGNODE solid name primitive type parameters amp key trans identity function CSGNODE is like CSGNODE except that it evaluates its arguments primitive type is one of the following types cube cylinder cone truncated cone sphere iso prism right angle prism 2 5 prism 2 5 cone or their abbreviated forms cu cub cy cyl co con tru sp sph iso rt 2 5p 2 5c parameters is a list of numbers and depends on the primitive type e cube x length y length z length e cylinder radius height number of app faces e cone radius height number of app faces e truncated cone bottom radius top radius height number of app faces e sphere radius approximation number 15 e iso prism base side height e right angle prism sidel side2 height e 2 5 prism height xj yj 2292 e 2 5 cone height apex Yapex x1 yl x2 y2 trans is an optional parameter that defaults to the identity transformation It specifies the rigid motion attached to the node It can be one of the following e name name of an already defined ngid motion e list of six float numbers x y z roll pitch yaw the system will generate a motion matrix and will give a new name for it The angles roll pitch and yaw can be entered in degrees or radians depending on the current value of the variable angle mode see page 29 e list name x y z r
19. ROD Function 30 IMAGE macro 26 Image 26 IMAGE Function 26 IMAGE FIT SCREEN Macro 33 IMAGE FIT SCREEN Function 33 ISO PRISM primitive 14 LENGTH OF VECTOR Function 29 LIGHT SOURCE Macro 22 Light source 22 Frame 59 LIGHT SOURCE Function 22 Macro 3D 20 3D STRUCTURE 20 BOUN REP 20 CAMERA 22 CSGNODE 14 15 17 18 DELETE BOUN REP 21 DELETE CSG NODE 18 DELETE IMAGE 26 DESCRIBE CSG NODE 19 DISPLAY PROPERTY 34 DISPLAY SCENE 34 IMAGE FIT SCREEN 33 LIGHT SOURCE 22 MERGE LIGHT PROPERTIES 25 MK COMBINED TRANSFORMATION 17 MK ROTATION 16 MK TRANSLATION 16 MOVE CSG NODE 15 PAINT PROPERTY ON IMAGE 27 PROJECT AND BACK PROJECT 24 ROTATE CAMERA AROUND AXIS 23 SCENE 24 MAKE FRAME Function 68 MAKE FRAME Function 69 MAKE SENSOR COMPONENT Function 22 MERGE LIGHT PROPERTIES Macro 25 MERGE LIGHT PROPERTIES Function 25 MK COMBINED TRANSFORMATION Macro 17 MK COMBINED TRANSFORMATION Function 17 MK FRAME Function 69 MK FRAME Function 69 MK MOTION MATRIX Function 16 MK ROTATION Macro 16 MK ROTATION Function 16 MK TRANSLATION Macro 16 MK TRANSLATION Function 16 MOTION MATRIX Frame 53 MOVE CSG NODE Macro 15 MOVE CSG NODE Function 16 NEIGHBOR FACES Function 28 NEXT EDGE Function 28 NORM OF VECTOR Function 29 PAINT PROPERTY ON IMAGE Macro 27 PAINT PROPERTY ON IMAGE Function 27 POINT LINE DISTANCE Function 30 PREVIOUS EDGE Function 28 Primitive 2 5 CONE 14 2 5 PRISM 14 CONE 14 CUBE 14 CYLINDER 14 Definition 2 Exa
20. VANTAGE A Frame Based Geometric Modeling System Programmer User s Manual V2 0 B Kumar J C Robert R Hoffman K Ikeuchi T Kanade CMU RI TR 91 31 The Robotics Institute Carnegie Mellon University Pittsburgh Pennsylvania 15213 December 1991 1992 Carnegie Mellon University Table of Contents 1 Introduction 2 Terminology 3 VANTAGE Concepts and Design 3 1 Motivations for Developing VANTAGE 3 2 Open Architecture 3 3 Lisp and frame based Representation 3 4 Solid and Boundary Representation 3 5 Relations Between 2 D and 3 D 3 6 Organization 3 6 1 Solid Definition 3 6 2 3 D Boundary Representation 3 6 3 3 D Face Properties 3 6 4 3 D Scene 3 6 5 2 D Image 3 6 6 2 D Property Regions 4 Invoking the system 5 CSG Definition of a Solid 5 1 Primitives 5 2 Rigid Motion 5 2 1 Moving a solid 5 2 2 Defining a transformation 5 3 Boolean Operations 5 4 Mirror Operation 5 5 Redefining and Deleting solids 5 6 Information on the CSG Tree 6 Boundary Representation 7 Sensors 8 Scene and 3 D Properties 8 1 Scene ie 00 1 IA tA aa uy 14 14 15 16 17 18 18 19 20 22 24 24 8 2 3 D Properties 9 Image and 2 D Properties 9 1 Image 9 2 2 D Properties 10 Miscellaneous Functions and Variables 10 1 Functions dealing with Boundary representation 10 2 Mathematical functions 10 3 Display functions Appendix A Primitive Solids Appendix B Examp
21. and analysis of mechanical parts and assembly Output from the geometric modelers can be used for automatic programming of NC machines and robots These geometric modeling systems are powerful in many application domains but have severe limitations to be used for tasks such as model based computer vision Among others 1 There is no explicit symbolic representation of the two dimensional 2 D information obtained by the projection of the 3 D model The output image displayed on the screen is a set of pixel intensity values with no knowledge of the logical grouping of points lines and polygons Also the relationship between 3 D and 2 D information is not maintained properly 2 Most of the current 3 D geometric modeling systems are designed with a closed ar chitecture with a minimum of documentation describing the internal data structures Moreover some of the data structures are packed into bit fields making understand ing and modification difficult 3 They run as stand alone interactive systems and cannot easily be interfaced to other programs To address these shortcomings we have developed the VANTAGE geometric modeling system VANTAGE uses a consistent object space representation in both the 3 D and 2 D domains which makes it suitable for computer vision and other advanced robotics applications Its open architec ture design allows for easy modification and interface to other software This paper discusses the design goals and m
22. boundary representation exists for the node or when the node has parent nodes If the user chooses to move the node anyway the boundary representations of the node and its possible parents are deleted Note that from now on the parents of the moved node will take into account the new location of the node MOVE CSG NODE node name trans MOVE CSG NODE is like MOVE CSG NODE except that it evaluates its arguments 5 2 2 Defining a transformation A rigid motion can be defined at the time it is used as explained above or using one of the following functions MK MOTION MATRIX name x y z roll pitch yaw x y z define the position of the new origin and roll pitch yaw define the rotations to perform about the initial z y and x axis If name is absent a system generated name will be assigned MK ROTATION amp key name nil rpy 0 0 0 axis angle nil center 0 0 0 gt Creates a rotation transformation defined by the center of rotation and either the roll pitch and yaw coefficients or the rotation axis vector plus the rotation angle If name is absent a system generated name will be assigned MK ROTATION key name nil rpy 0 0 0 axis angle nil center 0 0 0 MK ROTATION is like MK ROTATION except that it evaluates its arguments MK TRANSLATION amp key name nil xyz 0 0 0 Creates a translation transformation defined by the translation vector If name is absent a system generate
23. d by a finite number of planar faces In the same way all curves are represented by a collection of linear edges The number of planar faces used to represent a non planar surface is entered by the user VANTAGE stores the exact geometric definition of each surface and curve as a separate frame VANTAGE also maintains a pointer from every planar face that approximates a non planar surface to the corresponding surface and similarly from the approximating edges to the corresponding curves ___EDGE AB C Face 1 D PCW PCCW P Face _ _k P Vertex a N Vertex A N Face B NCCW NCW s F Face 2 Figure 3 4 Winged edge representation and associated frame The surface curve frames are used for grouping faces edges that approximate the same surface curve Also any operation that requires the exact geometric definition of surfaces and curves e g generation of parametric equations can be performed using the surface and curve frames jix lt Group Merge Figure 3 5 Grouping and Merging Operations VANTAGE builds two more levels of representation based on surface properties Figure 3 5 il lustrates the grouping and merging operations for this purpose First using references to the sur face frames VANTAGE can group a set of adjacent planar faces that approximate the same curved surface into a curved face frame Similarly connected linear edges that approximate the same Curve are also grouped into a c
24. d name will be assigned MK TRANSLATION amp key name nil xyz 0 0 0 MK TRANSLATION is like MK TRANSLATION except that it evaluates its arguments function function macro function macro function 17 MK COMBINED TRANSFORMATION amp key name NIL trans list nil macro Creates a transformation resulting from several successive transformations trans list is the list of transformations to combine The matrix of the new transformation is the product from left to right of the matrices of the transformations of trans list If name is absent a system generated name will be assigned MK COMBINED TRANSFORMATION amp key name NIL trans list nil function MK COMBINED TRANSFORMATION is like MK COMBINED TRANSFORMATION ex cept that it evaluates its arguments 5 3 Boolean Operations Complex solids are created by applying boolean operations on other solids CSGNODE solid name boolean operation solids amp key trans identity fast NIL macro A new solid is generated by applying the specified operation to the specified solid s and then by transforming the resulting solid by the specified rigid motion boolean operation is one of the following operations union difference intersection inverse or their abbreviated form un uni di dif int inv solids is a list of two solids except for the inverse operation in which case it is just one solid trans is specified as explained in the previous sectio
25. d to fit the vantage window ZOOMF variable Controls the scale of the image ZOOM x function Changes the scaling factor of the display variable zoomf The current value is multiplied by x The value of x should be greater than O DASH LEVEL variable Controls the length of the line segments used to draw dashed lines 34 DASH x function Changes the dash level variable The current value is multiplied by x The value of x should be greater than 0 SHADE LENGTH variable Controls the vertical distance between two dots used for shading SHADEL x function Changes the shade length variable The current value is multiplied by x The value of x should be greater than 0 SHADE WIDTH variable Controls the horizontal distance between two dots used for shading SHADEW x function Changes the shade width variable The current value is multiplied by x The value of x should be greater than 0 DISPLAY SCENE scene sensor macro Displays the scene scene as seen from the sensor sensor with hidden parts hidden Just paints polygons from back to front DISPLA Y SCENE scene sensor function DISPLAY SCENE is like DISPLAY SCENE except that it evaluates its arguments DISPLAY PROPERTY image property name macro Displays and shades the property regions of image for the property property name DISPLAY PROPERTY image property name function DISPLAY PROPERTY is like DISPLAY PROPERTY except that it e
26. derstanding and modification above a certain level of sophistication impractical Recognizing these limitations of currently available geometric modeling systems we have decided to develop a new flexible geometric modeler VANTAGE so that e Both 3 D and 2 D information of objects can be explicitly represented by symbolic data structures e A user can easily modify the system add new capabilities and interface his programs to it Our primary application of VANTAGE will be in the area of model based computer vision but we expect the flexibility and modifiability of VANTAGE will allow it to be used as a tool for many other advanced robotics applications 3 2 Open Architecture Many existing modelers act as a black box for the application programs and discourage sharing data The approach we take emphasizes direct interaction between the modeling system and the application program The collection of all data items such as surface edge camera light source etc describing objects and their relationships form the geometric database The geometric engine consisting of both the system defined and user defined functions can access and manipulate it This implies that all the system and application programs are at the same level of hierarchy in terms of accessing information with minimal distinction between them Figure 3 1 illustrates the open architecture Figure 3 1 Open Architecture of VANTAGE 3 3 Lisp and frame based Repr
27. dge of the pccw edge of the edge app grouped ncw Value 3d edge Parent edge of the ncw edge of the edge P F PCW d PCCW P Vertex N Vertex NCCW N Face NCW Figure C 1 Winged edge representation 32 3D VERTEX Description Representation of a vertex of a body Frame 3D VERTEX NAME is a vertex body one of the edges xyz values display xy Slots is a Value 3d vertex vertex body Value 3d body Inverse body vertex list Points to the 3d body that contains the vertex one of the edges Value 3d edge Points to one of the 3d edges that have this point as an end point xyz values Value list of three float numbers Gives the list x coordinate y coordinate z coordinate of the vertex with respect to the body coordinates display xy Value list of two integers Gives the coordinates of the vertex with respect to the screen coordinates 33 MOTION MATRIX Description Representation of a motion matrix Frame MOTION MATRIX NAME is a matrix name first row second row third row Slots is a Value motion matrix matrix name Value array 3 4 of float numbers Points to the matrix defined by the make array function first row Value list of 4 float numbers Lists the elements of the first row of the matrix second row Value list of 4 float numbers Lists the elements of the second row of the matrix third row Value list of 4 float numbers Lists the elem
28. e c osed groups of connected faces cfg of the body body app grouped faces Value list of 3d faces Lists all the faces of the body that have been obtained by grouping a set of 46 connected faces that approximate a same surface body app grouped edges Value list of 3d edges Lists all the edges of the body that have been obtained by grouping a set of connected edges that approximate a same curve body merged faces Value list of 3d faces Lists all the faces of the body that have been obtained by merging connected faces 47 Description Representation of a face of a body Frame 3D FACE NAME is a face body face type face geometry out boun list hole boun list face surface face class face parent face subdivision face children face properties app grouped out boun list app grouped hole boun list Slots is a Value 3d face face body Value 3d body Inverse body face list Points to the 3d body that contains the face face type Value either plane cyl sph con Gives the type of the surface that contains the face face geometry Value list of parameters For a planar face lists the coordinates of the normal vector of the face and the orthogonal distance between the face and the origin out boun list Value list of lists of 3d edges Lists the outer boundaries of the face For a planar face there is only one outer boundary hole boun li
29. e functions fired at that moment variable variable Index ANGLE MODE Variable 29 CURRENT BODY Variable 33 CURRENT IMAGE Variable 33 DASH LEVEL Variable 33 FKTRACE Variable 72 FKWARN Variable 72 FRAME LIST Variable 71 SHADE LENGTH Variable 34 SHADE WIDTH Variable 34 ZOOMF Variable 33 2 D Property 27 2 5 CONE primitive 14 2 5 PRISM primitive 14 2D ARC Frame 64 2D IMAGE Frame 62 2D JOINT Frame 66 2D REGION Frame 63 3 D Property 24 3D Macro 20 3D Function 21 3D BODY Frame 45 3D EDGE Frame 49 3D FACE Frame 47 3D Hierarchical Structure Definition 2 3D SCENE Frame 58 3D STRUCTURE Macro 20 3D STRUCTURE Function 20 3D VERTEX Frame 52 ADD FILLER Function 70 ADD FILLERS Function 70 ADD VALUE Function 69 ADD VALUES Function 69 Angle 15 29 ANGLE BETWEEN VECTORS Function 30 Boolean Operation Definition 2 BOUN REP Macro 20 BOUN REP Function 20 Boundary Representation Definition 2 CAMERA Macro 22 Camera 22 DISPLAY CAMERA 31 Frame 59 Rotate 23 CAMERA Function 22 CONE primitive 14 CREATE FACET Function 68 CREATE FRAME Function 68 CREATE SLOT Function 68 CROSS PRODUCT Function 29 CSG Definition Definition 2 CSG NODE Frame 43 CSG TREE Function 19 CSGNODE Macro 14 15 17 18 CSGNODE Function 14 15 17 18 73 Cube primitive 14 CURVE Frame 56 Curve Approximation 8 CYLINDER primitive 14 DASH Function 34 DEG Function 29 DEG TO RAD Function 29 Degree 29 DELETE BOUN REP Macr
30. ecified by a list containing the coordinates of its normal vector and the orthogonal distance between the plane and the origin 58 3D SCENE Description Definition of a 3d scene Frame 3D SCENE NAME is a csg node list light list x max y max z max x min y min z min Slots is a Value 3d scene csg node list Value list of csg nodes Lists the bodies that are in the scene light list Value list of sensors Lists the light sources that have been used in the scene x max y max z max x min y min z min Value float numbers Maximum and minimum x y z coordinates of the scene 59 SENSOR Description Definition of a sensor Frame SENSOR NAME is a type parameters rigid motion focal length limit angle Slots is a Value sensor type Value either camera or light rigid motion Value rigid motion Defines the frame of coordinates of the sensor The z axis of this frame is the viewing direction pointing from the object to the sensor parameters Value list of 6 float numbers Lists the parameters x y z roll pitch yaw that define the frame of coordinates of the sensor focal Value float number Focal length of the sensor Gives the distance between the projection plane and the sensor For a light source no specified focal length means a parallel light source whereas a specified focal length corresponds to a perspective light source limit angle
31. ects in images by matching features in the image with those expected from the model of the scene Many current geometric modelers are good at synthesizing images of a scene with a given viewing position and lighting condition It is however very difficult to extract symbolic representations of expected appearances of the object so that they can be used in designing recognition strategies One of the VANTAGE design goals is to provide a capability to explicitly represent the relationships between 3 D information such as shape surface and lighting in the scene and 2 D information such as visibility shadow and projected shape in the image For a particular viewing condition the 3 D faces are projected on the viewing plane and the visible portion of the projections result in 2 D face regions These 2 D face regions are a collection of 2 D arcs and the 2 D arcs connect 2 D joints The hierarchy of 2 D face regions 2 D arcs and 2 D joints is the same as faces edges and vertices at the 3 D level Image formation in general is dictated by the physical properties of the considered surfaces A 3 D face contains some slots for representing various properties like color surface roughness shadows etc They are classified according to the cause For example a particular 3 D face can have shadows due to different light sources such as light source a and light source b All these shadow conditions interact to produce the final image The 3 D face prop
32. ents of the third row of the matrix 54 SURFACE Description Definition of a surface Frame SURFACE NAME is a type parameters rigid motion Or SURFACE NAME is a type move rigid motion Or SURFACE NAME is a type mirror mirror plane rigid motion Slots is a Value surface type Value either cyl con or sph Geometric type of the surface parameters Value list of float numbers defining the surface The list contains the radius for a cylinder and a sphere and a radius and a height for a cone rigid motion Value motion matrix The motion matrix gives either the position of the surface in the world coor dinates frame or when the move or mirror slot exists the transformation to apply to the specified surface move Value surface If specified indicates that the surface is obtained by applying the specified rigid motion to the specified surface 55 mirror Value surface If specified indicates that the surface is obtained by applying the specified mirror operation to the specified surface and then by applying the specified rigid motion mirror plane Value list of 4 float numbers Defines the mirror plane by listing the coordinates of its normal vector and the orthogonal distance between the plane and the origin 56 CURVE Description Definition of a curve Frame CURVE NAME is a type parameters rigid motion inter Or
33. erties are projected on the 2 D regions which are divided into property regions 3 D level 2 D level 3 3 D property 2 D property region Table 3 1 Relation between 3 D and 2 D level Table 3 1 explains the relation between the two levels The information at the 2 D and 3 D levels have a correspondence and can be referenced back and forth In addition VANTAGE maintains topological information not only at the 3 D level but also at the 2 D level 3 6 Organization Figure 3 2 shows the overall organization of VANTAGE USER INPUT Figure 3 2 Organization of VANTAGE 1 The user creates a solid by applying operations on primitives solids The definition of the solid is stored in a Constructive Solid Geometry CSG Tree 2 The 3 D boundary representation of the solid is generated from the CSG tree in the 3D geometric database The face properties e g color shadow and visibility are also maintained in the 3D geometric database 3 The user defines a 3 D Scene that contains a collection of solids environmental con ditions e g lighting conditions and a viewing condition 4 The 3 D scene is projected to generate a 2 D Image for which VANTAGE creates a complete explicit representation 2 D boundary representation and 2 D Properties which contains geometric and topological information for all visible regions as well as back pointers to the 3 D boundary representation in the 2D geometric database The subseq
34. esen tation consists of frames that represent the vertices the edges the faces and the body the name of the body frame is node namez with suffix z If a boundary representation already exists for the node nothing is done A boundary representation is generated for all nodes starting with the leaf nodes primitive solids and going up the csg tree until the specified node All intermediate nodes that do not have a boundary representation yet get one in the process except those whose parent node has the fast flag on which get only a temporary boundary representation that is destructively modified in the process and deleted If a node already has a boundary representation the existing representation is used for that node and VANTAGE does not generate a boundary representation for the node and its child nodes BOUN REP node name function BOUN REP is like BOUN REP except that it evaluates its arguments 3D STRUCTURE node name macro It has the same effect as boun rep but in addition the solid gets a 3D Hierarchical structure grouping of faces approximating a same primitive surface If a boundary representation already exists for the node only the grouping of faces and edges is performed If the grouping operations have also already been done the function does not do anything 3D STRUCTURE node name function 3D STRUCTURE is like 3D STRUCTURE except that it evaluates its arguments 3D node name macro Merges
35. esentation VANTAGE avoids complex and heterogeneous data structures All data in VANTAGE are represented in a standardized manner by the use of frames Frames are analogous to schema or concepts as defined in other knowledge representation languages A frame is composed of slots facets and fillers For example a frame structure defining a face may look like BOTTOM FACE is a value 3 D face area value 740 if added update max area face face of value my cube edge list value edge a edge b edge c edge d In this example BOTTOM FACE is the name of the frame The slots are used to represent various attributes of a frame such as is a area face of and edge list A slot can have multiple facets such as value and if added 3 D face 140 update max area face are fillers defining contents of dif ferent facets Frames are like record structures in conventional programming languages but have much more flexibility and features Frames slots facets and fillers can be added or erased at any time Frames also provide a mechanism to automatically select and execute procedures and functions attached to a frame depending on the operation performed on a particular slot These functions are called demons In the above example update max area face is a demon which is fired automatically to update if necessary the variable maximum area face when a value for the slot area is added The frame structure is omnipresent throughou
36. ethodology for the VANTAGE geometric modeler 1 Introduction Geometric modeling systems allow users to create store and manipulate models of three dimensional 3 D solid objects These geometric modeling systems have found many applications in CAD CAM and robotics areas Although powerful in many application domains there are some limitations of these geometric modeling systems which make them difficult to be used for tasks such as model based computer vision Among others 1 There is no explicit symbolic representation of the two dimensional 2 D information obtained by the projection of the 3 D model The image data is a set of pixel intensity values with no knowledge of the logical grouping of points lines and polygons 2 They are designed with a closed architecture with a minimum of documentation describing the internal data structures Worse some of the data structures are packed into bit fields making understanding and modification difficult 3 They run as stand alone interactive systems and cannot easily be interfaced to other programs To address these shortcomings we have developed the VANTAGE geometric modeling system VANTAGE uses a consistent object space representation in both the 3 D and 2 D domains which makes it suitable for computer vision and other advanced robotics applications Its open architec ture design allows for easy modification and interface to other software The problems involving model based vi
37. evaluates its arguments 8 2 3 D Properties PROJECT AND BACK PROJECT scene sensor optional merge shadows T Generates the 3 D properties of the specified scene for a given sensor camera or light source A process of projection and back projection is performed as explained in paragraph 3 6 6 page 12 When the sensor is a camera the regions generated on the 3 D faces of the scene are the visible occluded or back oriented areas of the scene for the given camera For a light source the il luminated cast shadowed and self shadowed areas of the scene are obtained see table 3 2 The names of the properties which are also the names of the slots of the property list frames of the faces see the definition of a property list frame page 60 are built as in the following example if the name of the sensor cam ra or light is S1 the properties will be called visible S1 occluded S1 back S1 The property frames see page 61 are automatically created or updated merge shadows specifies whether the cast shadowed regions corresponding to different occluding faces should be merged or not before back projection to the faces of the scene MERGE LIGHT PROPERTIES does the same merging operations but after back projecting to the scene macro function macro 25 PROJECT AND BACK PROJECT scene sensor PROJECT AND BACK PROJECT is like PROJECT AND BACK PROJECT except that it evaluates its arguments MERGE LIGHT PROPERTIES scene ligh
38. facet filler Removes the given filler from the specified facet of the slot ERASE FACET frame slot facet Deletes the named FACET from the named SLOT of the frame ERASE SLOT frame slot The given SLOT is removed from the frame If the slot is a relation the inverse link will be erased in the corresponding frame ERASE FRAME frame The frame is erased by erasing slots one by one thus eliminating any inverse links and then erasing the frame itself Returns nil ERASE FRAMES frame list gt ERASE FRAME is applied on each element of the frame list REPLACE VALUE frame slot filler A composition of ERASE VALUES and ADD VALUE Erases the VALUE facet fillers for the specified view and adds the given filler to the VALUE facet function function function function function function function function function 71 REPLACE FILLER frame slot facet filler function A composition of ERASE FILLER and ADD FILLER Erases the facet fillers and adds the given filler to that facet Examples add filler edgel23 pcw value edge86 add value dog color white replace value dog color brown erase values dog color erase facet dog race if needed erase slot edgel23 pcw erase frame dog VV VVVNN D 4 Access Functions GET VALUES frame slot function Returns a list of fillers of the VALUE facet in the specified slot GET FILLERS frame name slot facet function Retur
39. gure 3 7 Projection of a 3 D scene and regions of the resulting image The algorithm to project a scene from 3 D to 2 D in addition generates all topological relationships among the face regions projections of the 3 D faces of the image something similar to that of the 3 D level 12 3 6 6 2 D Property Regions Different lighting conditions interact to produce the final image To compute whether a face is illuminated by a light source or shadowed we take advantage of the correspondence between a light source and a sensor as shown in table 3 2 When projecting a scene using a light source as viewpoint the 2 D regions obtained represent the illuminated cast shadowed parts of the scene These 2 D regions are back projected on the 3 D faces of the solids and stored as the 3 D face properties associated with the light source These 3 D face properties are projected on the 2 D face regions which are divided into property regions visible self shadowed Table 3 2 Light source Sensor Painted Image Face Regions gogo Figure 3 8 Property regions associated to a light source Figure 3 8 explains the property regions which are 2 D face properties of the 2 D face regions 13 4 Invoking the system The Lisp system should be invoked first VANTAGE currently runs under LUCID and ALLEGRO com mon lisp environments Then load the file usr vantage vantage init lisp This will initialize the VANTAGE system gt load
40. les Appendix C Standard Frames Appendix D Framekit functions D 1 Frames D 2 Frame creation D 3 Update Functions D 4 Access Functions D 5 Miscellaneous Functions and Variables Index 24 26 26 27 28 28 29 30 35 38 42 67 67 68 69 71 71 73 Figure 3 1 Figure 3 2 Figure 3 3 Figure 3 4 Figure 3 5 Figure 3 6 Figure 3 7 Figure 3 8 Figure B 1 Figure B 2 Figure C 1 List of Figures Open Architecture of VANTAGE Organization of VANTAGE CSG Tree Winged edge representation and associated frame Grouping and Merging Operations 3 D Face Properties for a Light source Projection of a 3 D scene and regions of the resulting image Property regions associated to a light source Image il plain and with shadows after window zooming 11 property regions projected on 11 Winged edge representation lil List of Tables Table 3 1 Relation between 3 D and 2 D level Table 3 2 Light source Sensor Abstract Geometric modeling systems allow users to create store and manipulate models of three dimensional 3 D solid objects These geometric modeling systems have found many applications in CAD CAM and robotics areas Graphic display capability which rivals photographic techniques allows realistic visualization of design and simulation Capabilities to compute spatial and physical properties of objects such as mass property calculation and static interference check are used in the design
41. mple 35 ISO PRISM 14 RIGHT ANGLE PRISM 14 SPHERE 14 TRUNCATED CONE 14 PROJECT AND BACK PROJECT Macro 24 PROJECT AND BACK PROJECT Function 25 Display 34 PROPERTY Frame 61 PROPERTY LIST Frame 60 RAD Function 29 Radian 29 REPLACE FILLER Function 71 REPLACE VALUE Function 70 RESTORE ANGLE MODE Function 29 RIGHT ANGLE PRISM primitive 14 ROTATE CAMERA AROUND AXIS Macro 23 ROTATE CAMERA AROUND AXIS Function 23 SAVE ANGLE MODE Function 29 SCENE Macro 24 Scene 24 Display 34 Scene Frame 58 75 SCENE Function 24 SENSOR Frame 59 SHADE FACE Function 31 SHADE POLYGON Function 31 SHADEL Function 34 SHADEW Function 34 SHOW AXIS Function 32 Slot 67 SLOT NAMES Function 71 SPHERE primitive 14 SURFACE Frame 54 Surface Approximation 8 TRUNCATED CONE primitive 14 Variable ANGLE MODE 29 CURRENT BODY 33 CURRENT IMAGE 33 DASH LEVEL 33 SHADE LENGTH 34 SHADE WIDTH 34 ZOOMF 33 Variable Framekit FKTRACE 72 FKWARN 72 FRAME LIST 71 VERTEX MATCH Function 31 View 67 WINDOW ZOOM Function 33 Winged Edge Representation Definition 2 ZOOM Function 33
42. n Jast is explained in the previous section CSGNODE solid name booiean operation solids amp key trans identity fast NIL function CSGNODE is like CSGNODE except that it evaluates its arguments Example The following commands create the nodes that appear in the CSG tree of Figure 3 3 18 gt csgnode bl cu 500 300 111 5 trans 0 68 1 49 25 0 O 0 Bl gt csgnode b2 cyl 120 450 10 trans 130 6 9 6 5 0 0 90 B2 gt csgnode b3 mov b2 trans 260 0 0 0 0 0 B3 gt csgnode b4 cu 3000 3000 100 trans 0 0 155 0 O 0 B4 gt csgnode b5 uni bl b2 B5 gt csgnode b6 uni b5 b3 B6 gt csgnode bodyl dif b6 b4 fast all BODY1 gt 5 4 Mirror Operation This operation creates the symmetric solid of a specified solid relatively to a specified plane CSGNODE solid name mirror parameters amp key trans identity fast NIL macro parameters is a list solid normal x normal y normal z distance specifying the solid and the mirror plane The plane is defined by the x y z coordinates of its normal vector and by its or thogonal distance to the origin CSGNODE solid name mirror parameters amp key trans identity fast NIL function CSGNODE is like CSGNODE except that it evaluates its arguments 5 5 Redefining and Deleting solids The definition of a node can be changed or deleted If the affected node has ancestor nodes then they are all affected as well When defining
43. ns a list of fillers of the specified facet SLOT NAMES frame function Returns a list containing the names of the slots in the specified frame FACET NAMES frame slot function Returns a list containing the names of the facets in the specified slot D 5 Miscellaneous Functions and Variables FRAME P frame function Retums the frame name if it exists otherwise nil FRAME LIST variable 72 When FRAMEKIT creates a frame its name is added to FRAME LIST When a frame is erased it is removed from FRAME LIST The order of the frames in FRAME LIST indicates from left to right the order in which they were created FKTRACE If FKTRACE is non NIL FRAMEKIT will print trace information concerning each FRAMEKIT action that is evaluated Although this results in a lot of output it is useful for debugging purposes since operations that are not always evident to the user like demon invocation and automatic structure creation become visible when tracing is enabled Initial value is NIL FKWARN If FKWARN is non NIL FRAMEKIT will inform the user about warning conditions that are non fatal but require some user notification e g trying to add a filler to a facet when that filler is already present Initial value is nil IFRAME SLOT FACET and FILLER are the special variables which store the current frame slot facet and filler respectively at the time a demon mechanism is invoked They can be used by th
44. ntation of a joint of an image Frame 2D JOINT NAME is a joint image x y 3d vertex list display xy Slots is a Value 2d joint joint image Value 2d image Inverse image joint list Specifies the 2d image that contains the joint Value float number Gives the x coordinate of the joint with respect to the camera coordinates Value float number Gives the y coordinate of the joint with respect to the camera coordinates 3d vertex list Value list of 3d vertices Specifies the 3d vertex or 3d vertices that generated the joint display xy Value list of two integers Gives the coordinates of the joint with respect to the screen coordinates 67 Appendix D Framekit functions FRAMEKIT is a frame based knowledge representation written in COMMON LISP that provides the basic mechanisms of frames inheritance demons and views It has been developed by Center for Machine Translation Carnegie Mellon University This section explains briefly some of the impor tant and heavily used FRAMEKIT functions This is by no means a complete description Warning Some of the key word arguments to the functions and the like are omitted here The users are advised to go through the separate document titled The FRAMEKIT User s Guide D 1 Frames A frame is a multi level data structure much like a record structure in traditional programming languages that is used to store information used by COMMON LISP
45. o 21 DELETE BOUN REP Function 21 DELETE CSG NODE Macro 18 DELETE CSG NODE Function 19 DELETE IMAGE Macro 26 DELETE IMAGE Function 26 DESCRIBE CSG NODE Macro 19 DESCRIBE CSG NODE Function 19 DESCRIBE CSG NODES Function 19 Display DISPLAY CAMERA 31 DISPLAY CAMERA Frame 31 DISPLAY PROPERTY Macro 34 DISPLAY PROPERTY Function 34 DISPLAY SCENE Macro 34 DISPLAY SCENE Function 34 DOT PRODUCT Function 29 DRAW ARC Function 32 DRAW BODY Function 31 DRAW EDGE Function 31 DRAW FACE Function 31 DRAW IMAGE Function 32 DRAW JOINT Function 32 DRAW REGION Function 32 DRAW VERTEX Function 31 EDGE LIST OF VERTEX Function 28 EDGE MATCH Function 32 ERASE FACET Function 70 ERASE FILLER Function 70 ERASE FRAME Function 70 ERASE FRAMES Function 70 ERASE SLOT Function 70 ERASE VALUES Function 70 FACE MATCH Function 32 FACEL EDGEL OF VERTEX Function 28 Facet 67 FACET NAMES Function 71 Filler 67 FIT SCREEN Macro 33 FIT SCREEN Function 33 FLASH EDGE Function 32 FLASH FACE Function 32 Frame 67 2D ARC 64 2D IMAGE 62 2D JOINT 66 2D REGION 63 3D BODY 45 3D EDGE 49 3D FACE 47 3D SCENE 58 3D VERTEX 52 CSG NODE 43 CURVE 56 MOTION MATRIX 53 PROPERTY 61 PROPERTY LIST 60 SENSOR 59 SURFACE 54 FRAME P Function 71 Function 3D 21 3D STRUCTURE 20 ANGLE BETWEEN VECTORS 30 BOUN REP 20 CAMERA 22 CROSS PRODUCT 29 CSG TREE 19 CSGNODE 14 15 17 18 DASH 34 DEG 29 DEG TO RAD 29 DELETE BOUN REP 21 DELETE CSG NODE 19 DELETE IMAGE
46. of a 2 D image frame IMAGE scene camera key lights NIL image name NIL merge shadows T macro Generates a 2 D image for the given scene using the given camera If no image name is given for the image a name is automatically generated e g image 1209 The complete 2 D representation of the image is computed including regions arcs joints winged edge relations and back pointers to 3 D elements The generation of 3 D properties back face shadow illuminated for the specified lights if not NIL is also performed as with the PROJECT AND BACK PROJECT function page 24 merge shadows specifies whether the cast shadowed regions corresponding to different occluding faces should be merged or not before back projection to the faces of the scene IMAGE scene camera key lights NIL image name image function IMAGE is like IMAGE except that it evaluates its arguments An image can be deleted using DELETE IMAGE image name macro Deletes the image image name with all its joints arcs regions DELETE IMAGE image name function DELETE IMAGE is like DELETE IMAGE except that it evaluates its argument 27 9 2 2 D Properties PAINT PROPERT Y ON IMAGE image name property name Projects the 3 D areas corresponding to the property property name onto the 2 D regions of the image image name The property regions are first transformed using the camera that generated the image then clipped by the regions of the image
47. oll pitch yaw same as above but the given name is assigned See Appendix A for an example of each primitive 5 2 Rigid Motion 5 2 1 Moving a solid CSGNODE solid name move solid amp key trans identity fast NIL macro Defines a new solid obtained by applying to an existing solid the transformation specified by trans trans is as defined in the previous section fast specifies whether the boundary representation of the child nodes should be destructively af fected or not when generating the boundary representation for the specified node fast takes one of the following values e NIL the boundary representation of the child nodes will be copied and not destructed when generating the boundary representation of the specified node e T the boundary representation of the child nodes will be destructed when generating the boundary representatioa of the specified node They will not be copied therefore Saving Computation time e all all nodes below the specified node in the CSG tree will have their fast flag set to T Only the boundary representation of the specified node will remain CSGNODE solid name move solid amp key trans identity fast NIL function CSGNODE is like CSGNODE except that it evaluates its arguments MOVE CSG NODE node name trans macro 16 Moves an existing solid by applying to it the rigid motion transformation specified by trans The user is asked to confirm the move command when a
48. ource list image region list image arc list image joint list image bounding box Slots is a Value 2d image image 3d scene Value 3d scene Specifies the 3d scene that is projected on the image image camera Value sensor Specifies the camera that is used to generate the image image region list Value list of 2d regions Inverse region image Lists all the regions of the image that result from the projection of a 3d face image arc list Value list of 2d arcs Inverse arc image Lists all the arcs line segments of the image image joint list Value list of 2d joints Inverse joint image Lists all the joints vertices of the image image bounding box Value list of 4 float numbers Lists the minimum and maximum coordinates of the image x min y min x max y max 63 2D REGION Description Representation of a region of a 2d image Frame 2D REGION NAME is a region image 3d face region bounding box region out boun list region hole boun list region properties Slots is a Value 2d region region image Value 2d image Inverse image region list Points to the 2d image that contains the region 3d face Value 3d face Points to the 3d face that generated the region region bounding box Value list of 4 float numbers Lists the minimum and maximum coordinates of the region on the image x min y min x max y max region out boun list Value list of
49. re either primitives or nil A parent node corresponds to a boolean operation applied to its corresponding children nodes When creating the boundary representation for a particular node the boundary representation for all the children of the node is also created recursively A solid is represented as a collection of faces a face as a collection of edges and an edge is defined by its two end vertices The vertices are defined by their x y and z coordinates Topological information is included in the form of winged edge representation A way of defining the topological relationship There are eight slots for each edge which define the two end vertices P vertex N vertex four neighboring edges PCW PCCW NCW NCCW and two adjacent faces P face N face In the boundary representation the cylindrical conical and spherical faces are approximated by a finite num ber user specified of planar faces After any se quence of boolean operations the faces derived from a same primitive surface are grouped so that they can be treated as a single entity Also there is provision to group faces that are tangent to each other across a common edge 3 VANTAGE Concepts and Design 3 1 Motivations for Developing VANTAGE Currently available geometric modeling systems have critical limitations to be used in applications which require flexible explicit and user specified access attachment and modification of the in formation within the sy
50. s the default window where all the display actions take place It has an active region attached to it When the LEFT mouse button is clicked any where inside the vantage window the pop up menu system is invoked Figure 8 Selection of an item will result in one the following e It will fire a particular function Ex Erase Screen will clear the vantage window e Further pop up menus will show up Ex choose body will list all the solids defined and the chosen value will become the default for the display system e It may ask for some input values Ex show corres frame displays the following message Figure 9 Please respond by clicking Complete description of the frame Left mouse button Only the Name Middle mouse button 31 DISPLAY CAMERA Name of the frame that defines the camera used for display of a 3 D object It is defined like any other camera in vantage and can be redefined at will Its default definition is created by the command camera display camera 3000 30000 3000 which defines an orthogonal projection from the point 3000 3000 3000 pointing to the origin 0 0 0 DRAW BODY body name Draws the specified body on the vantage window The body name should correspond to the bound ary representation DRAW FACE face name Draws the specified face on the vantage window DRAW EDGE edge name Draws the specified edge on the vantage window DRAW VERTEX vertex name radius Draws
51. sion are the main driving force behind this work and VANTAGE has applications in computer vision and advanced robotics research The current version of VANTAGE is reasonably debugged and has decent graphic routines and user interface This manual covers the following areas e General concepts and terminology e Overview of design and implementation e Primitive solids and coordinate transformations e Operations on solids e 3 D boundary representation e Light sources cameras e Scenes and 3 D properties e Images and 2 D properties VANTAGE is currently supported on SUN running Lucid Common Lisp or Allegro Common Lisp Most of the code is portable to other lisp environments except for the graphic and user interface routines VANTAGE can also run under X Window system Please direct all enquires to vantage cs cmu edu e Primitives e Boolean Operations e CSG Definition e Boundary representation e Winged edge representation e 3D hierarchical structure 2 Terminology The basic solids provided by the system They can be defined by giving required dimensions Tne primitives are cube cone truncated cone cylinder sphere 2 5prism 2 5cone triangular prism and right angle prism The operations allowed on the solids to move modify or create a resulting solid The operations defined are union intersection and difference The definition of solids is stored in the form of a tree structure The leaf nodes a
52. st Value list of lists of 3d edges Lists the boundaries of the holes of the face face surface Value surface Points to the surface that contains the face 48 face class Value either global app or merge Indicates whether and how this face was combined with other faces to generate a parent face A global face has no parent face An app face has a parent face obtained by grouping a set of connected faces that approximate a same surface A merge face has a parent face obtained by merging a set of connected faces face parent Value 3d face Inverse face children Points to the parent face of this face face subdivision Value either merge or app Indicates whether and how this face is divided into children faces It is app if the face was obtained by grouping a set of connected faces that approximate a same surface It is merge if the face was obtained by merging a set of con nected faces face children Value list of 3d faces Inverse face parent Points to the list of faces that generated this face face properties Value property list Points to the frame that lists the properties of the face app grouped out boun list Value list of lists of 3d edges Lists the outer boundaries of the face replacing every set of connected ap proximated edges by their parent edge app grouped hole boun list Value list of lists of 3d edges Lists the boundaries of the holes of the face replacing every set of connected
53. stems For example developing a model based vision system based on an object model requires analyzing how the object features such as faces edges etc will appear as the camera positions vary However though the graphic display of the object generates beautiful images usually no explicit symbolic representations of the two dimensional information are com puted in the projection of a 3 D object model The graphical output image is a set of pixel intensity or color values with no knowledge of the logical grouping of points lines and polygons or pointers to the original object features Humans can interpret the image but the explicit infor mation that a vision program may require is not available Rarely do the built in functions of a geometric modeling system satisfy all the representational and computational capabilities that a user needs for his own new application Theoretically writing or modifying a few modules to access and manipulate the information hidden in the system or adding a few representational capabilities to the existing ones will bring about the required capabilities In practice however such modifications and additions are very difficult and painful if not impossible Most systems are designed with a closed architecture with a minimum of documentation describing the internal data structures Worse due to their implementation in such languages as Fortran many of the data structures are packed into bit fields making un
54. sts CREATE SLOT checks to see if the slot is already present if not anew slot is created If the frame doesn t exist it will either automatically create the frame or print a warning message The slot name is returned if a new slot is created otherwise NIL is returned CREATE FACET frame slot facet function If the frame and slot already exist CREATE FACET checks to see if the facet is already present if not a new facet is created If either the frame or the slot doesn t exist it will either automatically create them or print a warning message The facet name is returned if a new facet is created otherwise NIL is returned Examples gt create frame dog gt create slot dog weight gt create facet tiger weight value gt create facet cat race if needed MAKE FRAME frame name amp rest fullframe macro MAKE FRAME is a macro for defining frames in a file or at the Lisp top level The first argument is interpreted as the name of the frame to create the rest of the arguments are interpreted as fully specified slot definitions The frame name is returned For example gt make frame my frame slotl facetl viewl filler listi view2 filler list2 69 facet2 view3 filler list2 slot2 facet3 view4 filler list3 facet4 viewl filler list4 my frame gt Any number of slots may be defined each with any number of facets Each facet may contain any number of views each with an
55. t source The property regions obtained in a scene for a light source using the previous function are com puted by a face to face technique and therefore the occluded areas are split into regions charac terized by the face that occludes them the occluding face considered is the closest one to the sensor PROJECT AND BACK PROJECT see above and IMAGE see page 26 allow the user either to merge these split regions for each face before back projecting them or to back project the split regions directly In the latter case the user can perform the merging operations later using MERGE LIGHT PROPERTIES This function makes the union on every face of the scene of the split occluded regions for the light source in order to get the full consolidated occluded cast shadowed area The old split regions are saved as a new property under a new name for a light source L1 the name is split occluded L1 and the new merged property regions take their previous name occluded L1 An example is showed in page 40 MERGE LIGHT PROPERTIES scene light source MERGE LIGHT PROPERTIES is like MERGE LIGHT PROPERTIES except that it evaluates its arguments function macro function 26 9 Image and 2 D Properties 9 1 Image Given a 3 D scene and a sensor camera a 2 D image can be generated The 2 D image consists of 2 D regions arcs and joints See paragraph 3 6 5 page 11 for a definition of a 2 D image and page 62 for a description
56. t source a and light source b 3 6 4 3 D Scene A 3 D scene is a portion of the world for which we can create an image It is composed of e A collection of solids A selection of physical properties of the solids e g color e A set of environmental conditions that can include A set of light sources one or several ll A sensor which is used to generate a 2 D image of the scene e g a camera Each scene condition e g a light source is defined as a separate frame containing all necessary information location color of light point extended light source sensor characteristics etc 3 6 5 2 D Image The 2 D representation of a 3 D scene is an explicit symbolic representation of the image that is obtained by projecting the scene using the specified sensor see Figure 3 7 VANTAGE provides a capability to explicitly represent the relationships between 3 D information such as shape surface and lighting in the scene and 2 D information such as visibility shadow and projected shape in the image For a particular viewing condition the 3 D faces are projected on the viewing plane and the visible portion of the projections result in 2 D face regions These 2 D face regions are a collection of 2 D arcs and the 2 D arcs connect 2 D joints The hierarchy of 2 D face regions 2 D arcs and 2 D joints is the same as faces edges and vertices at the 3 D level camera wo 2 D Image Face Regions 20 Soene IFJ ISN Fi
57. t the system The flexibility of frames provides an effec tive means to allow smooth interface to user supplied programs VANTAGE is implemented in the COMMON LISP language LISP combines symbolic processing with features from traditional computing By writing VANTAGE in LISP it inherits all the merits of the LISP language such as interaction incremental building symbolic representation etc We believe that VANTAGE will have successful applications in the A I world 3 4 Solid and Boundary Representation We have selected the Constructive Solid Geometry approach for representing the shapes of objects in VANTAGE VANTAGE provides basic solid primitives like cube cylinder etc The user creates new solids by making boolean operations union difference and intersection on these primitives A 3 D boundary representation of each object is maintained within the system This contains lists of faces edges and vertices Vertices contain their respective coordinate values and edges join these vertices The faces are planer polyhedra and represented by a collection of connected edges The neighborhood information or topology relates the edges faces and vertices of the solid This information in VANTAGE is stored in the form of winged edge representation An edge has two end vertices four neighboring edges and two faces defining a strict relationship 3 5 Relations Between 2 D and 3 D A model based vision system attempts to recognize obj
58. ters is a list of six numbers describing x y Z roll pitch and yaw The camera points towards the negative z axis given by the camera coordinate system defined by the parameters focal specifies the focal distance of the perspective projection or when equal to NIL characterizes an orthographic projection macro function macro function function 25 limit angle is the maximum angle in degrees between the normal of a face and the projection direction for which the face is lit The default NIL value for limit angle corresponds to a limit angle of 90 degrees ROTATE CAMERA AROUND AXIS camera angle macro Rotates a camera around its viewing direction The angle unit is given by angle mode ROTATE CAMERA AROUND AXIS camera angle function ROTATE CAMERA AROUND AXIS is like ROTATE CAMERA AROUND AXIS except that it evaluates its arguments 24 8 Scene and 3 D Properties 8 1 Scene The following functions define a 3 D scene The environmental properties applied to the scene lighting conditions are added to the definition of the scene at the time of calculation of the 3 D property regions of the scene for given light sources see section 8 2 and the IMAGE function page 26 SCENE name csg node list Defines a 3d scene by a list of csg nodes A boundary representation of all the bodies of the scene should exist before creating the scene SCENE name 3d body list SCENE is like SCENE except that it
59. uent sections detail the different parts of the system 3 6 1 Solid Definition In Constructive Solid Geometry an object is generated by applying successive operations union intersection difference move mirror on a Set of primitive solids cube cylinder cone sphere A CSG tree represents internally this CSG definition A leaf node of a CSG tree defines a primitive solid An intermediate node specifies an operation to be performed on its descendants and cor responds to the solid resulting from the operation Figure 3 3 shows an example of a CSG tree S ifference DU P dot KW NA Union N Z Y Block Cylinder Figure 3 3 CSG Tree 3 6 2 3 D Boundary Representation A 3 D boundary representation of each object is maintained within the system It consists of a four level hierarchy of frames body face edge and vertex A body is made of faces a face is defined by its edges and an edge has two end vertices Each element contains some geometric properties coordinates of the vertices equations of the faces position of the body in space In addition VANTAGE maintains a complete representation of topological relationships in the form of a winged edge representation that lists the end vertices neighboring edges and faces of every edge see figure 3 4 Although VANTAGE includes non polyhedral primitives such as cylinders and cones ali non planar surfaces cylindrical conical or spherical surfaces are approximate
60. urved edge frame Second faces that are tangent across an edge that is C1 continuous are also med into one Since detecting the C1 continuity is sometimes am biguous due to the finite precision of floating point calculation VANTAGE provides an interactive graphic interface that allows the user to select any pair of adjacent faces he desires to merge 10 Importantly the topological relationships of grouped and merged surfaces are also maintained in a winged edge representation This feature is very useful for computer vision applications where a continuous surface must often be treated as a single surface 3 6 3 3 D Face Properties Property descriptions of the faces of solids can be attached to the 3 D boundary representation There are two types of face properties e Physical properties inherent to the solid itself e g color texture e Properties that result from the environment of the solid e g cast shadow for a given light source These properties are computed at the time of projection YAN seit shadowed DE cast shadowed light source Figure 3 6 3 D Face Properties for a Light source Figure 3 6 illustrates the 3 D property representations in the case of color and shadow These divisions due to different properties are stored in the property frame of the 3 D faces They are also Classified according to the cause For example a particular 3 D face can have shadows due to different light sources such as ligh
61. usr vantage vantage init lisp s 9 s e a e ss s 8 E O RAEE E We ee Wey eel es Bg eee OREL CADRE ONU is EE IL EE LEI LL EC I ILE NE EEE OLE EAE EEA 4 A FH RBR MEET E a TELA VANTAGE SOLID MODELING SYSTEM V1 0 VISTON AND AUTONOMOUS SYSTEMS CENTER j THE ROBOTICS INSTITUTE 535555 Loading Subsystem Framekit E Solids ED Windows 2224213 Utilities E 4 R4 A 0473 204 99 9 9 2 8 067 8 A nan za re zeza TAREAS e A Here YOU Donar send Comments and Bug reports to vantage cs cmu edu At the end it will open up a new graphic screen called LISP Screen Inside there will be a default window named vantage window By clicking the left mouse button inside the window a pop up menu interface can be invoked Users interested in creating other widows on the Lisp screen are encouraged to go through the Chapter 12 of the SUN Common Lisp User s Manual titled WIN DOW TOOL KIT 14 5 CSG Definition of a Solid The creation of a CSG node is performed by the macro csgnode This macro allows the creation of primitive solids or the creation of solids by applying boolean operations on existing solids The following macro creates a solid csgnode solid name type parameters where type can be either a primitive type e g cube cylinder etc or an operation e g union move etc The csgnode command can also take optional arguments that are defined below 5 1 Primitives They are defined by the macro CS
62. valuates its arguments Appendix A Primitive Solids csgnode primitive 1 cub 100 200 150 x csgnode primitive 2 cyl 50 200 7 surface 2 curves csgnode primitive 3 con 50 150 7 surface curve lt lt lt csgnode primitive 4 tru 100 50 150 7 1 surface 2 curves csgnode primitive 5 sph 80 5 1 surface csgnode primitive 6 iso 100 200 150 csgnode primitive 7 rt 100 50 150 csgnode primitive 8 2 5p 150 20 50 50 30 10 25 30 80 25 70 csgnode primitive 9 2 5c 150 0 70 20 50 50 30 10 25 30 80 25 70 x lt 38 Appendix B Examples This first example shows a lisp file which when loaded performs the following operations e generation of the CSG tree of an object body from primitives e creation of a boundary representation of the object from the CSG tree e display of the solid on the screen e definition of a scene containing the object e definition of a camera e generation of an image of the scene using the camera e display of the image on the screen Save current angle unit degrees or radians save angle mode i Set angle unit to degrees setq angle mode deg Define csg representation for bodyl csgnode bl cu 500 300 111 5 trans 0 68 1 49 25 0 0 0 csgnode b2 cyl 120 450 10 trans 130 6 9 6 5 0 O 90 csgnode b3 mov b2 trans 260 0 000 0
63. with a Ja 43 CSG NODE Description Representation of a CSG node Frame CSG NODE NAME is a class type parameters rigid motion node used by list boundary rep group approximate merge node left node right fast surface list curve list Slots is a Value csg node class Value either primitive or operation Specifies whether the node is a leaf node primitive solid or results from an operation performed on its child node s type Value either a primitive type e g cube cylinder cyl etc or an operation name e g union dif move mir etc This slot specifies the type of primitive or the type of operation the node cor responds to parameters Value List of float numbers For a primitive solid the parameters that define it rigid motion Value motion matrix Defines the coordinate system attached to the node node used by list Value list of csg nodes The list contains the csg nodes that are defined using the current node i e the parent nodes of the node in the csg tree boundary rep Value 3d body Inverse body csg node Points to the boundary representation of the body defined by the node 44 group approximate Value T Is T when the grouping of the approximated faces and edges has been done merge Value T Is T when some faces have been merged node left Value CSG NODE For a solid that results from an operation the
64. y number of fillers MAKE FRAME frame name fuliframe function MAKE FRAME is like MAKE FRAME except that it evaluates it arguments and the slot defini tions must be specified as a single list MK FRAME frame name amp rest fullframe macro MK FRAME is another macro for defining frames in a file or at the Lisp top level unlike MAKE FRAME MK FRAME accepts slot definitions in abbreviated form mk frame my frame2 sloti value listl slot2 value list2 slotn value listn Each filler is placed in the COMMON view of the VALUE facet of the specified slot MK FRAME frame name amp rest fullframe function MK FRAME is like MK FRAME except that it evaluates it arguments and the slot definitions must be specified as a single list D 3 Update Functions ADD VALUE frame slot filler function Adds a filler to the VALUE facet in the specified slot unless that filler already exists ADD VALUES frame slot filler list function ADD VALUES is just like ADD VALUE except that it accepts a list of fillers to add to the 70 VALUE facet all at once ADD FILLER frame slot facet filler Similar to ADD VALUE but operates on the specified facet instead of the VALUE facet ADD FILLERS frame slot facet filler list Similar to ADD VALUES but operates on the specified facet instead of the VALUE facet ERASE VALUES frame slot Erases all the fillers of the VALUE facet of the specified slot ERASE FILLER frame slot
Download Pdf Manuals
Related Search
Related Contents
REF 91230 / 91235 - Standard Imaging Presto Electric Skille User's Manual Manuel d`installation Numéro du modèle : 3 installation and user manual Kenwood KDC-PS909 CD Player User Manual Philips Charger stand CRP393 Copyright © All rights reserved.
Failed to retrieve file