A mapper module that cuts a 3D model with a cone, returning the model remaining the inside or outside of the cone.
Name | Type | Description | |
in_field | Mesh+Data | input field that should be cut using the cone | |
Name | Type | Description | UI Control |
above | int | toggles the cropped part between inside and outside of the cone | Toggle |
plane dim1 | int | x - dimension of each plane which describe the surface of the cone | Slider |
plane dim2 | int | y - dimension of each plane which describe the surface of the cone | Slider |
revolution subdivisions | int | Number of planes that describe the surface of the cone | Slider |
side angle in | int | slope angle of the cone | Slider |
Name | Type | Description | |
out_plane_flds | Mesh+Data | output fields which describe the cutting planes | |
plane_objs | DataObject | directly renderable output object of the cutting planes used | |
out_fld | Mesh+Data | output field after cutting | |
out_obj | DataObject | directly renderable output object | |
The ConeCrop macro crops a 3D model using a cone shape object. It is a variation on the crop_box module. It works in essentially the same way except that it uses planes arranged in a way to form a cone instead of a box. The ConeCrop macro returns a whole new 3D model. It does not remove value by setting their node data value to NULL and it does not just return the values at the Cone surface.
The macro includes a user interface. The Cone radius and transformation can be controlled from the user interface panel (Transformation Editor). It should be noted that as the high level macros require the use of a number of low level AVS/Express modules these macros will only work with the AVS/Express developer edition.
in_field
Reference to the field input that is to be cropped. The field should contain at least a Mesh component.
above
A member of the ConeParams parameter block group. This integer value is used to specify whether the inside or the outside values of the cone shaped object should be retained.
plane dim1
A member of the ConeParams parameter block group. This integer value is used to specify the size of each plane in its x-direction.
plane dim2
A member of the ConeParams parameter block group. This integer value is used to specify the size of each plane in its y-direction.
revolution subdivisions
A member of the ConeParams parameter block group. This integer value is used to specify how many planes are used to describe the outside of the Cone.
side angle
A member of the ConeParams parameter block group. This integer value is used to specify the slope angle of the Cone.
out_plane_flds
The array of fields of the planes that are used to describe the the Cone surface on which the original field was cut. This contains 3D model of the cutting planes in a way that it can be used for further processing.
plane_objs
The directly renderable output field of the planes that are used to describe the the Cone surface on which the original field was cut. This contains a DataObject object that can be rendered by the standard data viewers.
out_fld
The most primitive output field of the ConeCrop macro. This contains the new 3D model generated from the model present on the input, cropped using the specified cone and combined with the original data components.
out_obj
The directly renderable output field of the ConeCrop macro. This contains a DataObject object that can be rendered by the standard data viewers. The DataObject is generated directly from the field data created from the input model.
The User Macro ConeCrop makes use of the Functional Macro ConeCropFunc and the UI Macro ConeCropUI.
An example application ConeCropEg is provided, which loads a field file and cuts a cone section out of it.
iac_proj/conecrop/ccrpmacs.v contains the V definitions of the ConeCropFunc Functional Macro, the ConeCrop User Macro, and the ConeCropUI User Interface Macro.
iac_proj/conecrop/ccrpapps.v contains the V definition of the example application ConeCropEg.
This project requires the following components to be installed correctly. Without these components the user level macros will not work correctly.
The ConeCropMacs library inherits its process. As this library contains no procedural code, the process is not important.
The high level macros use DV low level objects, and hence these macros require a license for the AVS/Express Developer Edition.
Ali Bitar Advanced Visual Systems, Inc.
Tobias Schiebeck International AVS Centre
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL
Crop_box