api_random_offset_pattern
List of: Functions
Subjects: Patterns
Contents: Kernel

Action: Creates a new pattern by adding random offsets to an existing pattern.

Prototype: outcome api_random_offset_pattern (


pattern*& pat, // created pattern


const pattern& in_pat, // input pattern


const SPAvector& amplitude,// maximum




// displacements




// in 3 dimensions


AcisOptions* ao = NULL // acis options


);

Includes: #include "kernel/acis.hxx"

#include "baseutil/vector/vector.hxx"

#include "kernel/kernapi/api/api.hxx"

#include "kernel/kernutil/law/pattern.hxx"

#include "kernel/kernutil/law/pattern_api.hxx"

#include "kernel/kernapi/api/acis_options.hxx"

Description: Creates a new pattern by adding random offsets at each site of an existing pattern. The components of the amplitude argument specify the magnitudes of the maximum offsets that are imposed in each dimension.


The following code snippet shows an example of how this API can be used.


// Create a pattern

pattern* pat = NULL;

SPAvector x_vec(4.0, 0, 0);

int num_x = 8;

SPAvector y_vec(0, 2.0, 0);

int num_y = 10;

check_outcome(result = api_linear_pattern(pat, x_vec, num_x, y_vec, num_y));


// Modify the pattern

pattern* mod_pat = NULL;

SPAvector amplitude(1.0, 0.5, 4.0);

check_outcome(result = api_random_offset_pattern(mod_pat, *pat, amplitude));


// Create a prism

BODY* prism = NULL;

double height = 1.0;

double maj_rad = 1.0;

double min_rad = 0.5;

int num_sides = 3;

check_outcome(result = api_make_prism(height, maj_rad, min_rad, num_sides, prism));


// Apply the pattern to the prism

check_outcome(result = api_set_entity_pattern(prism, mod_pat));


// Clean up

pat->remove();

mod_pat->remove();

Library: kernel

Filename: kern/kernel/kernutil/law/pattern_api.hxx

Effect: Changes model
PDF/KERN/16FNA.PDF
HTM/DATA/KERN/KERN/16FNA/0120.HTM