GeoAnalytics distributes the analytics work across your ArcGIS GeoAnalytics Server. This allows you to analyze more data faster with multiple machines. The following tools are available:
GeoAnalytics focuses on analyzing large amounts data with an emphasis on both spatial and temporal patterns.
The Summarize Data toolset contains tools that calculate total counts, lengths, areas, and basic descriptive statistics of features and their attributes within areas or near other features.
Aggregate Points |
Using a layer of point features and either a layer of area features or bins defined by a specified distance, this tool determines which points fall within each area or bin and calculates statistics about all the points within each area or bin. You may optionally apply time slicing with this tool.
The following are examples:
Build Multi-Variable Grid |
The Build Multi-Variable Grid tool generates a grid of square or hexagonal bins and calculates variables for each bin based on the proximity of one or more input layers.
The following are examples:
Describe Dataset |
Summarize input features with statistics, sample layers, and visualization. You can choose to output a sample layer or extent layer.
The following are examples:
Join Features |
Using either feature layers or tabular data, you can join features and records based on specific relationships between the input layers or tables. Joins will be determined by spatial, temporal, and attribute relationships, and summary statistics can be optionally calculated.
The following are examples:
Reconstruct Tracks |
Using a time-enabled layer of
point or polygon features that represent an instant
in time, this tool
determines which input features belong in a track and will order the inputs sequentially in time. Statistics are optionally calculated for the input features within each track.
The following are examples:
Summarize Attributes |
Using either feature or tabular data, this tool summarizes statistics for specified fields.
The following are examples:
Summarize Within |
Finds areas (and portions of areas) that overlap between two layers and calculates statistics about the overlap.
The following are examples:
These tools are used to identify areas that meet a number of different criteria you specify.
Detect Incidents |
This tool works with a time-enabled layer of points, lines, areas, or tables that represents an instant in time. Using sequentially ordered features, called tracks, this tool determines which features are incidents of interest. Incidents are determined by conditions that you specify.
The following are examples:
Geocode Locations from Table |
Converts addresses into coordinates. Use this tool on big data file share tables.
Find Similar Locations |
Based on criteria you specify, find similar locations by measuring the similarity of locations in your candidate search layer to one or more reference locations.
The following are examples:
These tools help you identify, quantify, and visualize spatial patterns in your data.
Calculate Density |
The Calculate Density tool creates a density map from point features by spreading known quantities of some phenomenon (represented as attributes of the points) across the map. The result is a layer of areas representing the density.
The following are examples:
Find Point Clusters |
The Find Point Clusters tool finds clusters of point features in surrounding noise based on their spatial distribution.
The following are examples:
Find Hot Spots |
The Find Hot Spots tool will determine if there is any statistically significant clustering in the spatial pattern of your data.
Forest-Based Classification and Regression |
The Forest-based Classification and Regression tool models and generates predictions using an adaptation of Leo Breiman's random forest algorithm, which is a supervised machine learning method
The following are examples:
Generalized Linear Regression |
The Generalized Linear Regression tool generate predictions or models a dependent variable in terms of its relationship to a set of explanatory variables. This tool can be used to fit continuous (OLS), binary (logistic) and count (Poisson) models.
The following are examples:
These tools help answer one of the most common questions posed in spatial analysis: What is near what?
Create Buffers |
A buffer is an area that covers a given distance from a point, line, or polygon feature.
The following are examples:
These tools are used for the day-to-day management of geographic and tabular data.
Copy to Data Store |
Copies an input feature layer or table to an ArcGIS Data Store and creates a layer in your contents in ArcGIS Enterprise.
The following are examples:
.csv
files in a big data file share to the spatiotemporal data store for visualization.
Calculate Field |
Calculates values for a new or existing field and creates a layer in your contents in ArcGIS Enterprise.
The following are examples:
Clip Layer |
Clips input features from defined areas of interest. The output result will be a subset of input features.
The following are examples:
Dissolve Boundaries |
Merges area features that intersect or share a common field value to create contiguous or multipart features.
The following are examples:
Overlay Layers |
Combines two or more layers into one single layer. Overlay is used to answer one of the most basic questions of geography, What is on top of what?
The following are examples:
Append Data |
Appends features to an existing hosted layer in your contents in ArcGIS Enterprise.
The following are examples:
Merge Layers |
Combines two feature layers to create a single result layer. All fields from the merge layer will be included by default, or you can specify custom merge rules to define the resulting schema.
The following are examples:
These tools help you explore the character of areas.
Enrich From Multi-Variable Grid |
Efficiently joins attributes from a multi-variable grid to a point layer, allowing you to quickly add a large and diverse collection of information to point data for use in further spatial analysis.
The following are examples:


Toggle navigation
Brand
Link
(current)
Link
Dropdown
Action
Another action
Something else here
Separated link
One more separated link
Welcome To WildBoulder
Hi, My Name is
Andrew Hartman
And This is me
Hello, world!
hello again
Hello, world!


%(buildMessage)s
Information about this %(releaseOrBuild)s and links to download the distribution files are below.
You can find links to previous %(releaseOrBuild)ss on your downloads message board.


THEM! (director: Gordon M. Douglas; screenwriters: story by George Worthing Yates, Russell S. Hughes/Ted Sherdeman; cinematographer: Sidney Hickox; cast: James Whitmore (Sgt. Ben Peterson), Edmund Gwenn (Dr. Harold Medford), Joan Weldon (Dr. Patricia Medford), James Arness (Robert Graham), Onslow Stevens (Brig. Gen. O'Brien), Chris Drake (Officer Ed Blackburn), Fess Parker (Crotty), Sandy Descher (The Ellison Girl), Olin Howland (Jensen), 1954)
Reviewed by Dennis Schwartz
One of the better sci-fi'ers to emerge from the 1950s. This one was has ants that have become mutants because of the radiation from atomic bomb tests in 1945, White Sands, New Mexico. They have reached giant proportions between 8-to-20-feet, and are attacking people at night, during the day the bright light and intense heat bothers them, so they remain in their nest.
The only part of the film that is in color, is the red letters of the title. The action starts off in melodramatic form, as a traumatized five year old girl (Sandy Descher) is picked up by Sergeant Ben Peterson (Whitmore) and Officer Ed Blackburn (Drake), as she is walking in the desert. Soon they discover a trailer with the girl's dead parents, and unusual footprints that no one can determine what it is and the trailer smashed by a terrible force. No money is taken, only sugar. Go figure its ants that did this! So you can't blame Sgt. Peterson for leaving his state highway partner Blackburn to watch the general store that was destroyed, with Gramp's murdered body, as he goes back to interview the girl who is too petrified to speak, hoping to get her to tell him what happened. The ants do their thing with the officer, as soon as Peterson leaves him. This lays a guilt trip on the sergeant, even though his precinct captain tells him he followed procedures and did the right thing.
Since the girl's father was a F.B.I. agent on vacation, this makes it a federal crime and the F.B.I. is called in to investigate, in the person of, Bob Graham (James Arness).
When Graham sends the footprint to the F.B.I. lab, they send them father-and-daughter entomologists Dr. Harold Medford (Edmund Gwenn) and Dr. Patricia Medford (Joan Weldon). She departs from the plane showing us her pretty calves, as she comes down the ladder, this is enough for her to get agent Graham's attention for the remainder of the film. Now Dr. Medford is a real ornery character, in a rush to get started in investigating his theory to the cause of the deaths. But first they revive the comatose girl with a concoction of folic acid, as she awakens startled and frightened out of her wits yelling, "It's THEM."
Back to the desert and a sand storm at night for the cops and scientists, as Pat is attacked by one of the giant ants and we hear the frightening cricketlike sounds they make, which is the language they use to communicate with each other. Dr. Medford directs the cops to kill the ant by destroying its antenna, thereby it can't see and loses control. He also tells them we got a national crises on our hands, as air force intelligence General O'Brien (Onslow) enter the crime scene, with Dr. Medford telling him that this has to be kept top secret or else there will be a panic in the country.

Under Dr. Medford's direction the ant's nest is spotted and bombed with cyanide and sprayed with flame throwers, but two queen ants escape and fly off undetected, as Dr. Medford explains that this could be the end of mankind if these ants are not destroyed immediately. They could give birth to thousands of ants and their strength is 20 times their weight, which means they could lift a ton; also, they are very dangerous because they are the only animals other than man who are capable of making war.
One queen ant is spotted by a pilot (Fess Parker) in Texas, who thinks he saw a UFO in the form of a giant ant flying, but is locked up in a mental ward so the secret could be kept from the public. Soon one of the queen ants attacks a naval ship and is destroyed, which leaves one remaining.
A patient (Olin Howland) in an asylum, sees them entering the sewer system in Los Angeles, as he comically keeps telling the military people questioning him about what he sees, as he keeps saying the following refrain: "make me a sergeant and give me the booze!" It is these constant little touches throughout the film, more so than the special effects, that make this film come to life.
The film ends in fast-paced action after hitting a long stretch of tedium, as the public is finally alerted to the dangers and the army goes into the Los Angeles sewers to get the queen ant. By now 2 months has elapsed since the first ants were spotted and there are scores of other ants in the sewers. The only catch to the army attacking them, is that two little boys are in there and it becomes a moral dilemma whether they should lose their lives for the greater concern of the masses or should someone try to rescue them, risking the chance that some ants might escape. It is decided that Sergeant Peterson should go in first and try to rescue the children, which he does heroically, giving up his life to get the kids to safety, as an ant crushes him.
This film was intelligently presented, the special effects were effective enough, and the cast, especially Edmund Gwenn, all provided fine performances, all this adding up to a really decent and subtle film.
REVIEWED ON 8/17/99 GRADE: B
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Sunflower
Complex Spiral
Envelope
SimpleGeo
SinCaustic
Convex Hull
Flux
Discrete z^a
Regression
L-System
Plot Example
Image Spiral
Projective Grid
Iterated Similarity
Shape Operations
Complete Graph
Euclids Algorithm
Pappos's Theorem
Euler-Line
Angle Quadsector
Hinged Mirrors
A Simple Tree
Lagrange Interpolation
Kaleidoskope
Schleppkurve


--- layout: default ---
Our club has a stocked ARRL Volunteer Examiner Team with several Amateur Extra Class VEs (necessary for any of the 3 license classes). Testing for ANY class is available following our club meetings. All that we ask is that you let us know ahead of time that you wish to test and leave us your contact information.
If you need any assistance in preparing for the test, please feel free to reach out to us. We are more than willing to help.
We hope we can help you participate in our great hobby!


This form is empty (but your heart isn’t)! Drag form elements from the left to the area below. Once its here, you can customize each element.
Don’t want to start from scratch? Start with the Retreat Template.


Add a store now to begin shipping
Connect Store
Save up to 50% and enjoy even greater savings on select international orders.
Lorem Ipsum is simply dummy text of the printing
and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever
since the 1500s. Over the years, sometimes by accident,
sometimes on purpose (injected humour and the like).
amazon
shopify
ebay
woocommerce
weebly
shopmatic
linio
magento
jumia
lazada
amazon
shopify
amazon
shopify
amazon
shopify


{% extends "base.html" %} {% block content %} You have been unsubscribed. Sorry to bother you! {% endblock %}


VIGYAN PRASAR
DEPARTMENT OF SCIENCE & TECHNOLOGY, GOVT. OF INDIA
in collaboration with
BIRLA INSTITUTE OF TECHNOLOGY
MESRA, RANCHI
Presents
National Workshops on Science Films
24th - 26th March 2019
Registration Form
Copyright � 2019 Birla Institute of Technology, Mesra, Ranchi.


{{ post.short_desc }}
---
# Variables
title: Samsung Internet Developer Hub
layout: index
description: "Official developer homepage for the Samsung Internet Web Browser, find documentation, demos and the latest articles about the popular web browser."
image: https://samsunginter.net/images/sdevhublogodark.png
---
{% for post in site.posts %}
{% if forloop.first %}
{{ post.short_desc }}{{ post.title }}
{% else %}
{{ post.title }}
{% endif %}
{{ post.long_desc }}
10-11 May 2018, London
Jo Franchetti is one of the organisers of DeltaV, a new two day conference featuring inspiring talks and practical advice on web performance.


up
`Prev `__
U
`Next `__
--------------
**up**: adj.
1. Working, in order. “The down escalator is up.” Oppose
`*down* <../D/down.html>`__.
2. bring up: vt. To create a working version and start it. “They brought
up a down system.”
3. come up vi. To become ready for production use.
--------------
+-----------------------------------+----------------------------+---------------------------+
| `Prev `__ | `Up <../U.html>`__ | `Next `__ |
+-----------------------------------+----------------------------+---------------------------+
| unwind-protect | `Home <../index.html>`__ | upload |
+-----------------------------------+----------------------------+---------------------------+


On the Import users page, you can import users from an external LDAP system and thus register them. In addition, you can define their user roles. The LDAP system is used for authenticating the users when they log in.
Upon creation or registration of your organization, LDAP-based authentication must have been specified and LDAP connection settings must have been defined.
The role of your organization determines which roles can be assigned to the users. The user roles control the actions a user is allowed to execute:
- Standard user: Users with this non-privileged role can work with services their organization has subscribed to. Every user registered with the platform automatically is a standard user. Additional user roles must be assigned explicitly by an administrator.
- Administrator: Each organization must have at least one user with this role. An administrator can manage the organization's account and subscriptions as well as its users and their roles. The first administrator of an organization is defined when the organization is created.
- Subscription manager: This role allows a user to subscribe to services and manage his own subscriptions. Unlike administrators, subscription managers are not permitted to work on subscriptions belonging to others or on subscription data related to billing and payment.
- Technology manager: This role allows a user to define technical services. It can be assigned to users of technology provider organizations.
- Service manager: This role allows a user to define marketable services and price models as well as publish marketable services. It can be assigned to users of supplier organizations.
- Reseller: This role allows a user to publish a supplier's marketable services applying different terms and conditions. It can be assigned to users of reseller organizations.
- Broker: This role allows a user to publish a supplier's marketable services without changing the terms and conditions defined by the supplier. It can be assigned to users of broker organizations.
- Marketplace manager: This role allows a user to define the organizations who are permitted to access a marketplace and publish services to it as well as update and customize a marketplace. This role can be assigned to users of marketplace owner organizations. It is automatically assigned to all administrators of the marketplace owner organization when a marketplace is created.
To import users from an external LDAP system:
The selected users are imported and registered. After a successful import and registration, the users are sent an email with the URL for accessing the system. They are automatically added to your organization's default organizational unit. The default organizational unit contains all users currently registered for your organization.
If the user ID of a user to be imported already exists in the platform, the email address of this user (e.g<EMAIL_ADDRESS>is used as user ID for logging in to the system. If yet another user with the same ID is imported, the new user ID is constructed using the existing ID followed by the "at" sign (@) and the ID of the organization the user belongs to (e.g. userSmith@abcdefg). The user is sent an email with the respective user ID.
User data maintained in the external LDAP system such as the password, first name, or last name can only be changed in the external LDAP system. If the data is changed, the platform automatically synchronizes it. Be aware that an automatic synchronization is not possible in case a user ID is changed in the LDAP system. The user has to be imported again.


This example demonstrates how the game AI implemented with A* search algorithm solves the coins flipping puzzle. The solution found by the algorithm is guaranteed in fewest steps. The puzzle is based on one of questions at Brilliant.org. Game AI is run on Azure Functions.
The puzzle consists of ten coins. Only a pair of adjacent coins is allowed to be flipped over at same time. All ten coins that are head is the goal. Try to solve the puzzle in fewest steps (if any).
To play the live demonstration, click the coins below to edit initial state and hit button to run the algorithm.
| Initial State |
|
||||||||
| Solution |
|
As described in Overview, the game AI is implemented in A* search algorithm which estimates each step with the function below:
$f(n) = {g(n) + h(n)}$
where $g(n)$ is the total number of steps needed to reach the current step, and $h(n)$ is the sum of two types of evaluation:
$h(n) = {c(n) + t(n)}$
Both evaluation functions are based on the number of heads. The $c(n)$ is the maximum number of continuity and $t(n)$ is total number of heads.
Examples of evaluation: (Ⓗ is head and Ⓣ is tail)
ⒽⓉⒽⒽⓉⒽⒽⒽⒽⒽ
$c(n) = 5$, $t(n) = 8$
ⒽⒽⓉⒽⒽⒽⒽⓉⓉⓉ
$c(n) = 4$, $t(n) = 6$
The step that has higher score will be prioritized in the open list, which leads the algorithm to find the solution in fewest steps.
The live demonstration is created as an example of Heuristic Suite - an experimental implementation of a series of heuristic algorithms in generic programming. The implementation in console application is also available and can be viewed on GitHub.


| Bisects last 7 days
| [[completedCount(jobs, 'performance', 7)]]
| [[completedDuration(jobs, 'performance', 7, 0.50)]]
| [[completedDuration(jobs, 'performance', 7, 0.75)]]
| [[completedDuration(jobs, 'performance', 7, 0.90)]]
| [[completedDuration(jobs, 'performance', 7, 0.99)]]
|
|
| Bisects last 28 days
| [[completedCount(jobs, 'performance', 28)]]
| [[completedDuration(jobs, 'performance', 28, 0.50)]]
| [[completedDuration(jobs, 'performance', 28, 0.75)]]
| [[completedDuration(jobs, 'performance', 28, 0.90)]]
| [[completedDuration(jobs, 'performance', 28, 0.99)]]
|
|
| Try jobs last 7 days
| [[completedCount(jobs, 'try', 7)]]
| [[completedDuration(jobs, 'try', 7, 0.50)]]
| [[completedDuration(jobs, 'try', 7, 0.75)]]
| [[completedDuration(jobs, 'try', 7, 0.90)]]
| [[completedDuration(jobs, 'try', 7, 0.99)]]
|
|
| Try jobs last 28 days
| [[completedCount(jobs, 'try', 28)]]
| [[completedDuration(jobs, 'try', 28, 0.50)]]
| [[completedDuration(jobs, 'try', 28, 0.75)]]
| [[completedDuration(jobs, 'try', 28, 0.90)]]
| [[completedDuration(jobs, 'try', 28, 0.99)]]
|
|


The kit comes with components designed to look perfect together. All components fit perfectly with each other.
HERMES
Bootstrap 4 Admin Dashboard
Bootstrap 4 Admin Dashboard
Huge Number of Components
The kit comes with components designed to look perfect together. All components fit perfectly with each other.
Multi-Purpose Sections
The sections will help you generate pages in no time. From team presentation to pricing options, you can easily customise and built your examples.
Example Pages
Speed up your development time or get inspired with the large number of example pages. You can jump start your development with our pre-built example pages.
Beautiful Notifications
Colourful notifications to animate your websiteWe have created multiple types of notifications. You can choose between different patterns (plain, with icon, with icon and close button) that comes in 4 different colours.
Awesome Tables
Awesome tables to get out of ordinaryWe took into consideration multiple use cases and came up with some specific areas for you. If you need elements such as tables we've got you covered. They're beautiful and easy to use for the end user navigating your website.
Beautiful Gradients
Different colours on each pageEach page on the Hermes Dashboard has a different colour for the Page Header that fits perfect with the active colour on the sidebar.
Fully Responsive
Designed to be mobile firstHERMES Dashboard is built mobile-first and looks amazing on any device. Regardless of the screen size, the website content will naturally fit the given resolution.
Github Open Source
Contribute to it by making pull requestsHERMES Dashboard is an Open Source, so if you want to contribute to our project and make it better, your help is very welcome.
Custom Icons
Hermes Dashboard comes with 100 custom demo icons made by our friends from NucleoApp. The official package contains over 20.729 icons which are looking great in combination with Hermes Dashboard. Make sure you check all of them and use those that you like the most.
VIEW DEMO ICONS VIEW ALL ICONS


| Package | Description |
|---|---|
| org.apache.batik.svggen |
Provides an API on top of the
AbstractGraphics2D to translate
Java 2D primitives into the SVG format. |
| org.apache.batik.transcoder |
Contains all of the interfaces for transcoding an input stream or
a document to a particular ouput format.
|
| Class and Description |
|---|
| AbstractImageHandlerEncoder
This abstract implementation of the ImageHandler interface
is intended to be the base class for ImageHandlers that generate
image files for all the images they handle.
|
| AbstractSVGConverter
Abstract class with common utility methods used by subclasses
for specific convertion operations.
|
| AbstractSVGFilterConverter
Abstract class with common utility methods used by subclasses
for specific convertion operations.
|
| CachedImageHandler
Extends the default ImageHandler interface with calls to
allow caching of raster images in generated SVG content.
|
| DefaultCachedImageHandler
This class is a default implementation of the GenericImageHandler
for handlers implementing a caching strategy.
|
| DefaultImageHandler
This class provides a default implementation of the ImageHandler
interface simply puts a place holder in the xlink:href
attribute and sets the width and height of the element.
|
| DOMGroupManager
This class is used by the Graphics2D SVG Generator to manage
a group of Nodes that can later be added to the SVG DOM Tree
managed by the DOMTreeManager.
|
| DOMTreeManager
This class is used by the SVGGraphics2D SVG Generator to manage
addition of new Nodes to the SVG DOM Tree.
|
| ErrorConstants |
| ErrorHandler
The
ErrorHandler interface allows you to specialize
how the error will be set on an SVG Element . |
| ExtensionHandler
The ExtensionHandler interface allows the user to handle
Java 2D API extensions that map to SVG concepts (such as custom
Paints, Composites or BufferedImageOp filters).
|
| GenericImageHandler
Extends the default ImageHandler interface with calls to
allow caching of raster images in generated SVG content.
|
| ImageCacher
This class implements caching functionality for raster images.
|
| ImageHandler
This interface allows the user of the Graphics2D SVG generator
to decide how to handle images that it renders.
|
| StyleHandler
The
StyleHandler interface allows you to specialize
how the style will be set on an SVG Element . |
| SVGAlphaComposite
Utility class that converts an AlphaComposite object into
a set of SVG properties and definitions.
|
| SVGAttribute
Represents an SVG attribute and provides convenience
methods to determine whether or not the attribute applies
to a given element type.
|
| SVGBasicStroke
Utility class that converts a Java BasicStroke object into
a set of SVG style attributes
|
| SVGBufferedImageOp
Utility class that converts a BufferedImageOp object into
an SVG filter.
|
| SVGClip
Utility class that converts a Path object into an SVG clip
|
| SVGClipDescriptor
Describes an SVG clip
|
| SVGColor
Utility class that converts a Color object into a set of
corresponding SVG attributes.
|
| SVGComposite
Utility class that converts a Composite object into
a set of SVG properties and definitions.
|
| SVGCompositeDescriptor
Used to represent an SVG Composite.
|
| SVGConverter
Defines the interface for classes that are able to convert
part or all of a GraphicContext.
|
| SVGConvolveOp
Utility class that converts a ConvolveOp object into
an SVG filter descriptor.
|
| SVGCustomBufferedImageOp
Utility class that converts an custom BufferedImageOp object into
an equivalent SVG filter.
|
| SVGCustomComposite
Utility class that converts an custom Composite object into
a set of SVG properties and definitions.
|
| SVGCustomPaint
Utility class that converts an custom Paint object into
a set of SVG properties and definitions.
|
| SVGDescriptor
Defines the interface for a set of SVG attributes and
related definitions.
|
| SVGFilterConverter
Defines the interface for classes that are able to convert
a BufferedImageOp filter.
|
| SVGFilterDescriptor
Used to represent an SVG Composite.
|
| SVGFont
Utility class that converts a Font object into a set of SVG
font attributes
|
| SVGFontDescriptor
Describes an SVG font
|
| SVGGeneratorContext
This class contains all non graphical contextual information that
are needed by the
SVGGraphics2D to
generate SVG from Java 2D primitives. |
| SVGGeneratorContext.GraphicContextDefaults
Class to describe the GraphicContext defaults to
be used.
|
| SVGGraphicContext
Represents the SVG equivalent of a Java 2D API graphic
context attribute.
|
| SVGGraphicContextConverter
This class performs the task of converting the state of the
Java 2D API graphic context into a set of graphic attributes.
|
| SVGGraphicObjectConverter |
| SVGGraphics2D
This implementation of the java.awt.Graphics2D abstract class
allows users to generate SVG (Scalable Vector Graphics) content
from Java code.
|
| SVGGraphics2DIOException
Thrown when an SVG Generator method receives an illegal argument in parameter.
|
| SVGGraphics2DRuntimeException
Thrown when an SVG Generator method receives an illegal argument in parameter.
|
| SVGHintsDescriptor
Describes a set of SVG hints
|
| SVGIDGenerator
Generates id for an arbitrary number of prefix
|
| SVGLinearGradient
Utility class that converts a Java GradientPaint into an
SVG linear gradient element
|
| SVGLookupOp
Utility class that converts a LookupOp object into
an SVG filter descriptor.
|
| SVGPaint
Utility class that converts a Paint object into an
SVG element.
|
| SVGPaintDescriptor
Used to represent an SVG Paint.
|
| SVGRenderingHints
Utility class that converts a RenderingHints object into
a set of SVG properties.
|
| SVGRescaleOp
Utility class that converts a RescaleOp object into
an SVG filter descriptor.
|
| SVGShape
Utility class that converts a Shape object into the corresponding
SVG element.
|
| SVGStrokeDescriptor
Used to represent an SVG Paint.
|
| SVGSyntax
Contains the definition of the SVG tags and attribute names.
|
| SVGTexturePaint
Utility class that converts a TexturePaint object into an
SVG pattern element
|
| SVGTransform
Utility class that converts a GraphicContext transform stack
into an SVG transform attribute.
|
| Class and Description |
|---|
| SVGGraphics2D
This implementation of the java.awt.Graphics2D abstract class
allows users to generate SVG (Scalable Vector Graphics) content
from Java code.
|
Copyright © 2022 Apache Software Foundation. All Rights Reserved.


--- layout: post permalink: purelyproducts.html Tags: Array NameOfCoupon: Purely Products Cash Back Summary: See our Purely Products Coupon Code, Purely Products Rebate, Purely Products Promo Code, Purely Products Discount, Purely Products Coupon Cash Back Rebate here. MetaKeywords: Purely Products Coupon Code, Purely Products Rebate, Purely Products Promo Code, Purely Products Cash Back Rebate, Purely Products Discount, Purely Products Coupon Image: images/26772.jpg LinkURL: http://www.shareasale.com/r.cfm?b=223645&u=412002&m=26772 affiliate_url_link: http://www.icouponblog.com/jane.php?id=89 thesis_readmore: See the Purely Products Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=purelyproducts.com Title: Save 10% - Purely Products Coupon Code for purelyproducts.com. Purely Products Rebate & Discount thesis_description: Our Purely Products Discount Coupon Code for purelyproducts.com. We have the best Purely Products Rebate anywhere. thesis_keywords: Purely Products, Purely Products Coupon Code, Purely Products Discount, Purely Products Rebate product_name: Purely Products hop_url: http://www.icouponblog.com/hop.php?id=89 ---
Purely Products is an industry leader in making pure or eco-responsible, tech savvy products that make clean and healthy living easier for families and businesses alike. Purely Products are green focused products that reduce carbon footprint of the user. Get 10% discount on Purely Products and take a responsible step towards making the world a cleaner, better and greener place.
Purely Products include compact fluorescent (CFL) light bulbs that use 1/5 the energy of traditional light bulbs while helping control pet dander and odor, smoke, dust mites and more. Purely Products convenient Pocket Purifier puts a wall of defense in your hands with its hand-held germicidal light. Lightweight and convenient, Pocket Purifier sanitizes surfaces and objects with the same UV-C light that sterilizes surgical instruments. Ultraviolet light and nanotechnology eliminate 99.9% of germs that cause colds and flu, plus e-coli, salmonella, mold and fungus...Buy it today with Purely Proudcts money saving coupon.
Purely Products are for you if you want to live a pure and chemical-free life Purely Products are responsible products for responsible living. Purely also believes in giving back to the community. A percentage of every Purely Products purchase supports the non-profit diaperLove, providing diapers to children in need. Be responsible, go green, and buy Purely Products for pure and simple germ-free, chemical free living. Also use discount coupons to save money on Purely Products.


You name is required.
Mobile number must be 10 digits long.
Please type a valid message
Time cannot be larger than 20


Knowledge belongs to the people! Antitrust
By Ross Anthony
"In the computer business there is no second place; it's binary, one or zero, live or die," a suspiciously familiar hi-tech czar played by Tim Robbins propa-"gates" his software product and company (Nurv) as he defends his corporate monopoly, "Hey, some kid in some garage could take us down at any time."
Milo is working over time with best bud Teddy (in a garage)... hoping to do just that when the phone rings. It's Bill (I mean Gary Winston, Nurv CEO) offering him a job. The offer splits these best friends as Milo goes off to work at Micros ... (I mean Nurv), and Teddy, repulsed by Nurv's fascist strategies, seeks private investors for his own software projects. It's actually a great springboard into a movie about best friends turned competitors. But that's not how the film is programmed. With young sharp techno-geeks dropping like flies, the film changes genres midstream; from smart buddy film, to cheap thriller, and almost back again.
Though not a great film, "Antitrust" handles several elements very nicely. I especially love Milo's realization scene. It's a crunch of sound and video that hit home. Speaking of sound ... the quality of the tracks in this production is quite high: the choice of alternative rock (which started in Seattle - nudge, nudge, wink, wink), the score, and the careful crisp mix. The acting is respectable, while the camera movement, direction and editing are very professional. Together they make this "B" movie look very good.
But this is still a "B" movie. At times the sharp script dips into the ridiculous, reducing the battle of geniuses to fodder for warehouse chase scenes ... complete with false scares and all. More than once, this audience giggled at the silliness projected on screen. Still, never a dull moment, well paced and suspenseful to the end. You'll fall more than once for the film's twist-traps and enjoy being fooled. As with "Save the Last Dance" I think it's a strong film for 14 to 18 year-olds.
Antitrust. Copyright © 2001. Rated PG-13. * Starring Ryan Phillippe, Rachael Leigh Cook, Claire Forlani, Tim Robbins, Douglas McFerran, Richard Roundtree. * Directed by Peter Howitt. * Written by Howard Frankin. * Produced by Nick Wechsler, Keith Addis, and David Nicksay at MGM/Hyde Park/Industry Ent.
Grade..........................B+
-- Copyright © 2000. Ross Anthony, currently based in Los Angeles, has scripted and shot documentaries, music videos, and shorts in 35 countries across North America, Europe, Africa and Asia.
For more reviews visit: http://www.RossAnthony.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


<head>
40empty tag
8a[href="#"]
1<form>
missing <fieldset>
1type="text"
is not needed on <input>
1<link>
missing rel
1media="all"
is not needed on <link>
7type="text/css"
is not needed on <link>
1<nav>
missing role
3script[charset]
5type="text/javascript"
is not needed on <script>
1name=""
5Inline style: border
103Inline event handler: onclick


Wisata Bandung
(current)
Link
this is my car media mockup btw,click the "Wisata Bandung" button above to skip the page and go directly to wisata page
Welcome to Noise Culture an Indonesian Car media


Victoria Greenfield
Home
(current)
About
Portfolio
Hello World
I'm Victoria, a North Carolina based photographer,
web designer, and front-end developer.


Library
Namespace: FSharp.Compiler.AbstractIL.Internal
Nested types and modules
| Type | Description |
| AnyCallerThreadToken | Represents a token that indicates execution on a any of several potential user threads calling the F# compiler services. |
| Cancellable<'TResult> | Represents a cancellable computation with explicit representation of a cancelled result. A cancellable computation is passed may be cancelled via a CancellationToken, which is propagated implicitly. |
| CancellableBuilder | |
| CompilationThreadToken | Represents a token that indicates execution on the compilation thread, i.e. - we have full access to the (partially mutable) TAST and TcImports data structures - compiler execution may result in type provider invocations when resolving types and members - we can access various caches in the SourceCodeServices Like other execution tokens this should be passed via argument passing and not captured/stored beyond the lifetime of stack-based calls. This is not checked, it is a discipline within the compiler code. |
| DictionaryExtensions | |
| Eventually<'T> | Computations that can cooperatively yield by returning a continuation
|
| EventuallyBuilder | |
| ExecutionToken | Represents a permission active at this point in execution |
| IPartialEqualityComparer<'T> | Interface that defines methods for comparing objects using partial equality relation |
| InlineDelayInit<'T> | An efficient lazy for inline storage in a class type. Results in fewer thunks. |
| LayeredMap<'Key, 'Value> | |
| LayeredMultiMap<'Key, 'Value> | Immutable map collection, with explicit flattening to a backing dictionary |
| LazyWithContext<'T, 'ctxt> | Just like "Lazy" but EVERY forcer must provide an instance of "ctxt", e.g. to help track errors on forcing back to at least one sensible user location |
| LazyWithContextFailure | |
| Lock<'LockTokenType> | Encapsulates a lock associated with a particular token-type representing the acquisition of that lock. |
| LockToken | A base type for various types of tokens that must be passed when a lock is taken. Each different static lock should declare a new subtype of this type. |
| MemoizationTable<'T, 'U> | |
| MultiMap<'T, 'U> | |
| NameMap<'T> | |
| NameMultiMap<'T> | |
| ResultOrException<'TResult> | |
| UndefinedException | |
| UniqueStampGenerator<'T> | |
| ValueOrCancelled<'TResult> |
| Module | Description |
| Array | |
| Cancellable | |
| Dictionary | |
| Eventually | |
| IPartialEqualityComparer | |
| Lazy | |
| List | |
| Map | |
| MultiMap | |
| NameMap | |
| NameMultiMap | |
| Option | |
| Order | |
| ResizeArray | |
| ResultOrException | |
| Shim | |
| String | |
| Tables | |
| ValueOptionInternal | Because FSharp.Compiler.Service is a library that will target FSharp.Core 4.5.2 for the forseeable future, we need to stick these functions in this module rather than using the module functions for ValueOption that come after FSharp.Core 4.5.2. |
Functions and values
| Function or value | Description |
( === ) x y
Signature: x:'a -> y:'a -> bool
Type parameters: 'a |
CompiledName: |
( >>>& ) x n
Signature: x:int32 -> n:int32 -> int32
|
CompiledName: |
AssumeAnyCallerThreadWithoutEvidence ()
Signature: unit -> AnyCallerThreadToken
|
|
AssumeCompilationThreadWithoutEvidence (...)
Signature: unit -> CompilationThreadToken
|
Represents a place in the compiler codebase where we assume we are executing on a compilation thread |
AssumeLockWithoutEvidence ()
Signature: unit -> 'LockTokenType
Type parameters: 'LockTokenType |
|
cancellable
Signature: CancellableBuilder
|
|
DoesNotRequireCompilerThreadTokenAndCouldPossiblyBeMadeConcurrent (...)
Signature: _ctok:CompilationThreadToken -> unit
|
Represents a place in the compiler codebase where we are passed a CompilationThreadToken unnecessarily. This reprents code that may potentially not need to be executed on the compilation thread. |
eventually
Signature: EventuallyBuilder
|
|
foldOn p f z x
Signature: p:('c -> 'd) -> f:('e -> 'd -> 'f) -> z:'e -> x:'c -> 'f
Type parameters: 'c, 'd, 'e, 'f |
|
getHole r
Signature: r:'a option ref -> 'a
Type parameters: 'a |
Get an initialization hole |
isNil l
Signature: l:'a list -> bool
Type parameters: 'a |
|
isNilOrSingleton l
Signature: l:'a list -> bool
Type parameters: 'a |
Returns true if the list has less than 2 elements. Otherwise false. |
isNonNull x
Signature: x:'a -> bool
Type parameters: 'a |
|
isSingleton l
Signature: l:'a list -> bool
Type parameters: 'a |
Returns true if the list contains exactly 1 element. Otherwise false. |
LOH_SIZE_THRESHOLD_BYTES
Signature: int
|
Per the docs the threshold for the Large Object Heap is 85000 bytes: https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/large-object-heap#how-an-object-ends-up-on-the-large-object-heap-and-how-gc-handles-them We set the limit to slightly under that to allow for some 'slop' |
nonNull msg x
Signature: msg:string -> x:'?17180 -> '?17180
Type parameters: '?17180 |
|
notFound ()
Signature: unit -> 'd
Type parameters: 'd |
|
notlazy v
Signature: v:'a -> Lazy<'a>
Type parameters: 'a |
|
reportTime
Signature: bool -> string -> unit
|
|
RequireCompilationThread _ctok
Signature: _ctok:CompilationThreadToken -> unit
|
Represents a place where we are stating that execution on the compilation thread is required. The reason why will be documented in a comment in the code at the callsite. |
Type extensions
| Type extension | Description |
AddAndMarkAsCollapsible(kvs)
Signature: (kvs:KeyValuePair<'Key,'Value> []) -> Map<'Key,'Value>
|
CompiledName: |
Empty
Signature: Map<'Key,'Value>
|
CompiledName: |
Empty
Signature: Map<'Key,'Value>
|
CompiledName: |
EndsWithOrdinal(value)
Signature: value:string -> bool
|
CompiledName: |
LinearTryModifyThenLaterFlatten(key, f)
Signature: (key:'Key * f:('Value option -> 'Value)) -> Map<'Key,'Value>
|
CompiledName: |
MarkAsCollapsible()
Signature: unit -> Map<'Key,'Value>
|
CompiledName: |
StartsWithOrdinal(value)
Signature: value:string -> bool
|
CompiledName: |
Values
Signature: 'Value list
|
CompiledName: |
Values
Signature: 'Value list
|
CompiledName: |


Visit our site at http://www.entertainmentcruises.com
SHE’S HERE!
Odyssey, Spirit of Chicago, Mystic Blue and Seadog welcome their
newest sister to the fleet – Chicago Elite.
Chicago Elite is the most contemporary and customizable private
charter yacht in the city and perfect for events of 40–150
guests. Personalize everything from menus to entertainment,
décor to cruise route and more with the help of one of our
event specialists. Chicago Elite – It’s Your Yacht.
Pricing (http://www.eliteprivateyachts.com/chicago/pricing-schedules
) | Directions
(http://www.eliteprivateyachts.com/chicago/about/details/directions-parking
) | FAQs (http://www.eliteprivateyachts.com/chicago/about/faq )
About Us (http://www.entertainmentcruises.com/about-us ) | Privacy
Policy (http://www.entertainmentcruises.com/privacy ) | Our Service
System (http://www.entertainmentcruises.com/about-us/promise ) |
Contact Us (http://www.entertainmentcruises.com/about-us/contact-us )
Have your own private yacht aboard Chicago Elite for any special
event.
Chicago Elite | 401 East Illinois Street, Suite 310 | Chicago, IL
60611
There’s a new addition to the family. View HTML online here
(http://archives.subscribermail.com/msg/3c8cfd4bb16d4b62aaf6eb6f30de375e.htm ).
Safely Unsubscribe
http://localapp/unsub.cfm?tempid=3c8cfd4bb16d4b62aaf6eb6f30de375e&mailId=52e165471d4e49dfa7ffeb6f30de375e
Send this mail to your friend.
http://localapp/send_friend.cfm?template=3c8cfd4bb16d4b62aaf6eb6f30de375e&mailid=52e165471d4e49dfa7ffeb6f30de375e
Powered by SubscriberMail http://www.subscribermail.com
Entertainment Cruises401 E. Illinois StreetChicago, Illinois 60611


34+ Vlone Logo Red Pictures. In spite of its simplicity, the vlone logo is recognizable and spotted while shopping on poshmark: 102,724 likes · 293 talking about this.
In spite of its simplicity, the vlone logo is recognizable and spotted while shopping on poshmark: Vlone and transparent png images free download. You'll have to pay a lot more for a clothing item.
Vlone logo in gta 5 online!!!with modded orange & black rng outfit!
Vlone logo in gta 5 online!!!with modded orange & black rng outfit! Купить футболка vlone logo red по отличной цене | in. Welcome to the vlone subreddit, a community centered around the vlone brand by a$ap bari. Every day new 3d models from all over the world.


A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
| Image | Id | Name | Organization | Organization URL | Time Zone | Actual Time (GMT) | |
|---|---|---|---|---|---|---|---|
| acube123 | Amitanand S. Aiyer |<EMAIL_ADDRESS>| http://www.facebook.com | -8 | -8 | ||
| apurtell | Andrew Purtell |<EMAIL_ADDRESS>| Intel | http://www.intel.com | -8 | -8 | |
| anoopsamjohn | Anoop Sam John |<EMAIL_ADDRESS>| Intel | http://www.intel.com | +5 | +5 | |
| ddas | Devaraj Das |<EMAIL_ADDRESS>| Hortonworks | http://www.hortonworks.com | -8 | -8 | |
| dmeil | Doug Meil |<EMAIL_ADDRESS>| Explorys | http://www.explorys.com | -5 | -5 | |
| enis | Enis Soztutar |<EMAIL_ADDRESS>| Hortonworks | http://www.hortonworks.com | -8 | -8 | |
| garyh | Gary Helmling |<EMAIL_ADDRESS>| Continuuity | http://www.continuuity.com | -8 | -8 | |
| gchanan | Gregory Chanan |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com | -8 | -8 | |
| jdcryans | Jean-Daniel Cryans |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com | -8 | -8 | |
| jeffreyz | Jeffrey Zhong |<EMAIL_ADDRESS>| Hortonworks | http://www.hortonworks.com | -8 | -8 | |
| jyates | Jesse Yates |<EMAIL_ADDRESS>| Salesforce.com | http://www.salesforce.com/ | -8 | -8 | |
| jgray | Jonathan Gray |<EMAIL_ADDRESS>| Continuuity | http://www.continuuity.com | -8 | -8 | |
| jmhsieh | Jonathan Hsieh |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com | -8 | -8 | |
| jxiang | Jimmy Xiang |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com | -8 | -8 | |
| kannan | Kannan Muthukkaruppan |<EMAIL_ADDRESS>| http://www.facebook.com | -8 | -8 | ||
| karthik | Karthik Ranganathan |<EMAIL_ADDRESS>| http://www.facebook.com | -8 | -8 | ||
| larsgeorge | Lars George |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com/ | +1 | +1 | |
| larsh | Lars Hofhansl |<EMAIL_ADDRESS>| Salesforce.com | http://www.salesforce.com/ | -8 | -8 | |
| mbautin | Mikhail Bautin |<EMAIL_ADDRESS>| http://www.facebook.com | -8 | -8 | ||
| ndimiduk | Nick Dimiduk |<EMAIL_ADDRESS>| Hortonworks | http://www.hortonworks.com | -8 | -8 | |
| nspiegelberg | Nicolas Spiegelberg |<EMAIL_ADDRESS>| http://www.facebook.com | -8 | -8 | ||
| rawson | Ryan Rawson |<EMAIL_ADDRESS>| DrawnToScale | http://drawntoscale.com/ | -8 | -8 | |
| sershe | Sergey Shelukhin |<EMAIL_ADDRESS>| Hortonworks | http://www.hortonworks.com | -8 | -8 | |
| stack | Michael Stack |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com/ | -8 | -8 | |
| tedyu | Ted Yu |<EMAIL_ADDRESS>| Hortonworks | http://www.hortonworks.com | -8 | -8 | |
| todd | Todd Lipcon |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com | -8 | -8 | |
| rajeshbabu | Rajeshbabu Chintaguntla |<EMAIL_ADDRESS>| Huawei | http://www.huawei.com | +5 | +5 | |
| ramkrishna | Ramkrishna S Vasudevan |<EMAIL_ADDRESS>| Intel | http://www.intel.in | +5 | +5 | |
| liyin | Liyin Tang |<EMAIL_ADDRESS>| http://www.facebook.com | -8 | -8 | ||
| nkeywal | Nicolas Liochon |<EMAIL_ADDRESS>| Scaled Risk | http://www.scaledrisk.com | +1 | +1 | |
| eclark | Elliott Clark |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com | -8 | -8 | |
| mbertozzi | Matteo Bertozzi |<EMAIL_ADDRESS>| Cloudera | http://www.cloudera.com | 0 | 0 | |
| zjushch | Chunhui Shen |<EMAIL_ADDRESS>| Taobao | http://www.taobao.com | +8 | +8 |


BNZ poaches CBA executive general manager of home buying Daniel Huggins, who will join the NZ bank as executive general manager for customers, products and services
by Gareth VaughanBNZ says Daniel Huggins, a New Zealander who is currently an executive at ASB's parent Commonwealth Bank of Australia, will join it in the New Year as executive general manager for customers, products and services.
Huggins will replace Howard Silby, currently BNZ's chief operating officer, as a member of the executive team. Silby will, however, remain at BNZ as chief innovation officer.
BNZ says the changes are effective from March 2020 with Huggins’ appointment subject to Reserve Bank non-objection.
Huggins is currently executive general manager of home buying at CBA.


Trigger business logic
Important
It is important to understand the difference between database level triggers and these XData level triggers. A database trigger is called during changes made to the records of the table, whereas XData logic module processes the changes in the level of the data object. It must be remembered that a data object can include several database tables on the one hand and, on the other hand, a part of information regarding other objects can be stored in one table. And from this point of view, the value of such a mechanism inside the XData can hardly be overestimated!
Custom logic called over data object explicitly. But XData can call trigger logic over business valuable data object (not a single table!) on middle-ware level (no matter extracted this logic to dedicated application server or not). This logic will be called automatically when corresponded changes are applied:
- InitRepository - middle-ware trigger executed when Repository has been initialized (trigger delegate type -InitRepository<T>)
- InvalidateRepository - middle-ware trigger executed when Repository data need to be reseted (trigger delegate type -InvalidateRepository<T>)
- InvalidateObject - middle-ware trigger executed when Repository object need to be reloaded (trigger delegate type -InvalidateObject<T>)
- InitObject - middle-ware trigger executed when Repository object has been initialized (trigger delegate type -InitObject<T>)
- BeforeInsert - middle-ware trigger executed before object inserted into Repository (trigger delegate type -Trigger<T>)
- BeforeUpdate - middle-ware trigger executed before Repository object has been updated (trigger delegate type -Trigger<T>)
- BeforeDelete - middle-ware trigger executed before object has been deleted from Repository (trigger delegate type -Trigger<T>)
- AfterInsert - middle-ware trigger executed after object inserted into Repository (trigger delegate type -Trigger<T>). Skip flag is not applicable!
- AfterUpdate - middle-ware trigger executed after Repository object has been updated (trigger delegate type -Trigger<T>). Skip flag is not applicable!
- AfterDelete - middle-ware trigger executed after object has been deleted from Repository (trigger delegate type -Trigger<T>). Skip flag is not applicable!
- BeforeClear - middle-ware trigger executed before Repository has been cleared (trigger delegate type -RepositoryTrigger<T>)
- AfterClear - middle-ware trigger executed after Repository has been cleared (trigger delegate type -RepositoryTrigger<T>). Skip flag is not applicable!
Trigger delegate type - it's a method signature for middle-ware trigger handler.
public class InvoiceLogic : XDataLogic<Invoice>
{
[Action(DataActionType.AfterInsert), Action(DataActionType.AfterUpdate)]
public Trigger<Invoice> UpdateHistory =>
((ref Invoice invoice, ref DataTriggerFlag flag) =>
{
if (!invoice.CheckState(DataObjectState.New)
&& !invoice.IsChanged(x => x.DocState)) return true;
var rep = invoice.GetRepository();
using (var hist =
GetRepository<DocHistory>(rep.Layer, context: rep.Context))
{
hist.Reset()
.SetFilterValue(DocHistory.FilterByDocId,
invoice.GetProperty<long>("DocId"))
.SetFilterValue(DocHistory.FilterByDocStateId,
invoice.DocState.Key);
var newHist = hist.New();
newHist.HistoryDate = DateTime.UtcNow;
return hist.Submit(ref newHist);
}
});
[Action(DataActionType.BeforeDelete)]
public Trigger<Invoice> ClearHistory =>
((ref Invoice invoice, ref DataTriggerFlag flag) =>
{
var i = invoice;
using (var hist = GetRepository<DocHistory>(i.GetLayer(),
context: i.GetContext()))
{
return hist.Reset()
.Clear(x => x.GetProperty<long>("DocId")
== i.GetProperty<long>("DocId"));
}
});
[Action(DataActionType.BeforeClear)]
public RepositoryTrigger<Invoice> ClearHistoryBatch =>
((IRepository<Invoice> invoiceRepository, ref DataTriggerFlag flag) =>
{
using (var hist = GetRepository<DocHistory>(invoiceRepository.Layer,
context: invoiceRepository.Context))
{
return hist.Reset().Clear(x => invoiceRepository
.Any(z => x.GetProperty<long>("DocId")
== z.GetProperty<long>("DocId")));
}
});
}
Trigger and RepositoryTrigger delegates has a reference parameter of type DataTriggerFlag to specify behavior of data processing after trigger executed. There are three possible behaviors defined:
- None - Submit using default algorithm, representation layer is already refreshed
- Skip - Data submitting have completed in trigger logic or not applicable. No standard updates will called. It's a kind of "instead of" trigger logic flag.
- Refresh - Default value. Representation layer manual data refreshing is needed.
Trigger logic defined as attributed by Action attribute read only property of XDataLogic<T> class descendant. One property can be attributed as a handler for multiple triggers. Property type must to be Trigger<T> except repository based triggers (BeforeClear, AfterCLear, InitRepository or InvalidateRepository) - RepositoryTrigger<T>.


 The film stars John Candy, Maureen O'Hara, Ally Sheedy, with Anthony Quinn and James Belushi.
I recently asked in this newsgroup "Does anybody *like* John Candy?" by which I meant does anyone find him a sympathetic screen presence. Some people enjoy laughing at him, some cannot abide him; but I doubted that anyone wanted him as a personal friend. Generally, I do not enjoy Candy's good-hearted jerk; the last film in which I thought he was even moderately successful was PLANES, TRAINS, AND AUTOMOBILES with Steve Martin; the scene when the two men wake up in bed together and have to reestablish their heterosexual manliness is both funny and telling.
ONLY THE LONELY offered no such insights into men or women, or even moms.  End of insight. And certainly none of comic manicness of THROW MOMMA FROM THE TRAIN.
I went to ONLY THE LONELY to see Maureen O'Hara and anticipated a certain amount of discomfort in the presence of Candy as the price to be paid. As it turned out, it was neither as bad as it might have been, nor as good as it could have been. Even O'Hara, fiery and vicious, suffers from a script that gives her precious little motivation and less history. She's a bigot, an emasculator; but you know she's basically ok underneath. In the Hughes-Columbus world, everyone is basically ok underneath, even Mom. Still, O'Hara shines through the limitations of the script; she's alive when the rest of the movie is dozing.
Candy tones down the Uncle Buck klutziness and becomes the pushover. He decides to assert himself against the wishes of the whole world, but exactly why will remain a mystery, as will the related questions of why now and not before. Candy's acting skills are sufficiently limited that if he's not doing some SCTV fat-jerk shtick he's talking real slow and looking like a whipped puppy to register sensitivity. The result here is some glacial pacing and slippery schmaltz.
Ally Sheedy was supposed to be this major-league introvert, afraid of the sound of her own voice. Not only do we not know why, but we are given no particular reason why she finds herself attracted to Candy or increasingly able to assert herself. At least she's a better actor than Candy and seems to be maturing into someone that may prove to interesting to watch on the screen.
In supporting roles we have James Belushi, totally wasted as Candy's meat-wagon partner. God, I wish the script had done more one joke on the subject of the meat wagon. Or a subplot hinted at of Belushi's relationship with rather alarming wife. And then there is Anthony Quinn, old, totally charming, quite sexy and seductive as he pursues the unobtainable O'Hara, who hates all Greeks (of course, Quinn plays a Greek).
A friend of mine with a taste for sentimental movies loved this one.  Instead, I would recommend that this might be a tolerable film to rent in video, but don't pay even matinee prices for it. There's not enough there there.
-- Frank Richard Aloysius Jude Maloney .
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Ambergris Cay is twenty-five miles long and is the largest of the 200-plus islands located off the Belize coast. It ranges in width from a few hundred feet to over four miles and is separated from the southernmost tip of Mexico's Yucatan Peninsula by a small channel.
For most of the year, the tradewinds keep the temperature down and the mosquitos away. It is a popular location for snorkling and diving.
Position 17°55'N, 087° 53'W (anchorage)
This is an official port of entry with Customs, Immigration and Quarantine officers on duty, all based in adjacent offices at the Police Station. Since these officials do not seem to coordinate their office times, the clearing in/out process can be rather drawn out.
As the entrance through the reef is rather complicated, one should call San Pedro Yacht Club on Channel 16 for directions. One can go straight to the yacht club (identified by the Texaco sign) to complete formalities. San Pedro is located just south of the Mexican border and therefore convenient for yachts arriving from or leaving for Mexico.
Last updated October 2009.
There is a good anchorage at San Pedro in about 6 or 7ft over sand.


folks who've struggled with boredom, IEP indicators for dyslexia, ADD/ADHD, self-concepts of "not being an X person." who are in bottom half of cohort for attendance and/or test scores
PHS is neither remediation nor enrichment. Our focus is on helping a diverse group of people who've historically struggled in t.a.s. to excel in new ways.
| Dimension | Traditional School | PHS |
|---|---|---|
| learning philosophy | Instruction | Construction |
| How YP spend time | year-long disciplinary classes | immersive, inter. seml / workshps/ intern. / studio |
| Assessments | Grades, tests, papers, transcript | Portfolio, proj. advisor, retro map. |
| Schedule and Calendar | fall, winter, spring; 7:30/8-2:30/3 | year round, 10-5 |
| How YP organized | grades | multi-age cohorots + advisories |
| How staff organized | disciplinary/grade depts | case mngt approach: advisories |
| How $ organized | centralized; requires approval, long-term | flexible, decentralized via purchase cards |
| Coverage of standards | prospective | retropsective |
| Standarized test prep | in academic classes | separate from creative + intellectual work |
We don't do pathways, we do individualization
We don't do progression, we do projects organically and then retrospective mapping
In supporting YP in transitioning from stud. to indep. invest. we're helping YP in translate their tastes/interests into actionable projs. and this requires flexibility
Doing real projects requires having a real audience (outside of teachers). And doing real projects means engaging in many different activities at different times, in different contexts, with different people
In diff. times in diff. contexts, dep. on proj. having a real audience will mean engaging in many different activites/ types of work:
We don't do curriculum and assessments in a typical sense, we do:
For us, the performance task is: Does your project work? Can you explain how it works? Making something that works reliably requires:
B/c of emphasis on projects using computation, "does it work/how does it work?"" will require engagement with powerful computational (logic, mathematical) ideas.
B/c of our emphasis on storytelling in projs and documentation, "Does it work/How does it work?" will engage reflections about coherence, values, aesthetics, etc.
Doing projects that are hard and personally meaningful to you requires social, emotional, and meta-cognitive development.
Looking and feeling like a highly functional creative workplace means that technology will "just" be embedded in our work. At PHS, YP won't learn about tech, they'll use tech. At PHS, tech won't be used to make instruction more efficient per se, it will be used to make construction more deep, divergent, and creative.
PHS will focus on serving folks who aren't thriving in traditional academic contexts. This requires going to where those people are — in a district. However, doing something that's as different on as many dimensions from traditional school as PHS requires flexibility, which requires autonomies. Our simultaneous need for autonomies and our desire to work with folks who've struggled in T.A.S. means that we've decided to become an Innovation School.
We're quite fortunate to have had time to test and to confirm — through in-school programs most notably our experience in our pilot year— that we need and will have the autonomies we need to help young people design and do great projects of their own design.
Given how different supporting projects looks from facilitating traditional classes (e.g. need to order materials responsively, need long, contiguous blocks of time) we'll have autonomies around budgeting and PHS' calendar which will mean it will look very differnt from a traditioanl school.
Given how different doing projects looks, and how
Given our autonomy with staffing, we've had to design a different governance structure that connects yp, and staff PHS with the district via director, governing board, superintendent.
Supporting people to do authentic, real work that's meaningful to them inevitably invovles interfacing heavily with their families and the Somerville community. The community will often be the audience and partners of the projects YP do at PHS
Staff will onboard for a year before they start working full time with YP. During that time, they'll be building relationships with YP and families via outreach. In addition to having general outreach available to all (~650?) MS students in Somerville, we'll have targetted outreach to folks struggling in t.a.s, a group of people which cuts across ses, race, SPED, ELL status.
PHS staff's responsbilities won't look like that of traditional teachers in classrooms separated by discipline. Instead staff will be working in teams, advisories, with a cohort of YP for 4 years, running immersive, interdiscplinary programs, helping with individual projects, connecting YP and families with resources, and doing creative work of their own… this means that our structure, hiring, and evaluation process look a bit different from that of traditional academic contexts.
Staff's goal setting and evaluation process will rhyme with that of YP at PHS. At PHS staff are not transmitters of information but rather mentors, and project-doers themselves. This means that their evaluation process doesn't look that different from what YP go through.
Just as students go through an process with staff and their ILP to articulate their background, aptitudes, interests, strengths, and goals, staff will do so as well in a process involving their Advisory colleagues and the SSA principal.
Plan to open in fall of 2018 and begin implementing plan immediately upon opening


[gecode-users] Segmentation fault in a very simple model
Alfredo Esteban
aetdev at gmail.com
Tue Aug 4 15:42:16 CEST 2009
Hello,
I'm getting started with Gecode reading "Modeling with Gecode". I have
experience in Constraint Programming using iLog software.
I installed Gecode and I created a project to test it. I used SendMoreMoney
example. Everything is ok and I can compile and execute this example.
However, when I tried to build my own simple model, compilation is ok but I
get a segmentation fault when posting a linear constraint. It is very
strange because I imitated SendMoreMoney example. I searched in mailing list
but I didn't find anything.
I show you the code. In main.cpp we have:
int main(int argc, char* argv[]) {
SchoolTimeTable* problem = new SchoolTimeTable();
[...]
return 0;
}
In schoolTimeTable.h we have:
#include <gecode/int.hh>
using namespace Gecode;
class SchoolTimeTable : public Space {
protected:
BoolVarArray m_vars;
public:
SchoolTimeTable(void);
SchoolTimeTable(bool share, SchoolTimeTable& s);
virtual Space* copy(bool share);
void print(void) const;
};
In schoolTimeTable.cpp we have:
#include "schoolTimeTable.h"
#include <gecode/search.hh>
SchoolTimeTable::SchoolTimeTable(void){
m_vars = BoolVarArray(*this,900);
BoolVarArgs borrame(3);
for (int i=0; i<3; i++) borrame[i]=m_vars[i];
linear(*this,borrame,IRT_EQ,2); // SIGSEGV IS HERE
}
SchoolTimeTable::SchoolTimeTable(bool share, SchoolTimeTable& s)
: Space(share, s) {
m_vars.update(*this, share, s.m_vars);
}
Space* SchoolTimeTable::copy(bool share) {
return new SchoolTimeTable(share,*this);
}
Technical data:
OS: Debian GNU/Linux Squeeze
Gecode version: 3.1.0
gcc version: 4.3.3
gdb version: 6.8
Thank you very much,
Alfredo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20090804/1833cbe3/attachment.htm>
More information about the gecode-users
mailing list


Welcome
Montreal-based One Equall Musick is a collaborative vocal ensemble dedicated to the programming and interpretation of high quality repertoire from the fifteenth-century to the present day.
{% for page in site.pages %} {% if page.categories contains 'current' %} {% for performance in page.performances %}
{{performance.title}}
{% if performance.subtitle %} {{performance.subtitle}} {% endif %}
{% for performance in performance.guests%} {% if performance.name %}{{performance.name}}{% if performance.director %} - {{performance.director}}, Director {% endif %}
{% endif %} {% endfor %}{{performance.date}} at {{performance.time}}
{{performance.venue}}
{{performance.address}}
{% if performance.facebookurl %}
Check out Facebook at {{performance.facebookurl}}.
{% endif %} {% if performance.ticketstext %}{{performance.ticketstext}}
{% endif %} {% if performance.ticketsurl %}Tickets available at {{performance.ticketsurl}}.
{% endif %}


{{review.stars}} Stars: {{review.body}} by: {{review.author}} on {{review.createdOn | date}}
by: {{review.author}} on {{review.createdOn | date}}


TITech Africa is a web service where you can learn programming on one on one instructions and guidance among other web services.
We offer you a fully equipped coding environment to get you started and other web services as they may best suite your demand.
Build professional Websites
Develop customised business software & applications
Deals in Specialised electronic devices e.g phones, laptops etc
We also offer short courses in:
We also offer consultancy services for computer & Software Engineering


| Interface | Description |
|---|---|
| Validator |
An interface capturing the ability to validate a set of input according to
some constraints.
|
| Class | Description |
|---|---|
| ASTPrinter | |
| BalancedValidator |
A class housing methods to check a source file has balanced punctuation.
|
| CodeLevelValidator |
Validates Java files' contents at a line-by-line level
|
| EnvironmentValidator |
A class to validate the user's system environment
|
| MemberLevelValidator |
Validates Java files' contents at a body member level
|
| SyntaxValidator |
Validates the syntax of Java files' contents
|
| TopLevelValidator |
Validates the top-level declarations among Java Files' contents
|
| UsageValidator |
Validates CLI usage
USAGE: jhelp [(FILE|DIR)...]
|


Thinking Style and Learning
31 Jul 2014
According to the Gregorc Thinking Style test, I am very firmly an Abstract Sequential thinker. While some of the descriptions are very accurate, there are some things that are less so. But then again, given the complexity of human nature, reducing it to a set of four categories always did strike me as a little ambitious. It does peg me as someone who likes to work alone, which is true, although I haven’t had any problems with pairing sessions thus far. In fact, I’ve been enjoying them for the most part. Groups being a problem for me is something I had already noticed and as I mentioned in an earlier post, something that I want to work on. I do think that pairing sessions can be good in that aspect, since they are social interactions, but since it’s one on one, there is a constant need to stay involved and focused.
Another characteristic that I supposedly have and will readily admit to is having trouble expressing my emotions. Even now, writing this simple blog post is taking an inordinate amount of time and mental energy from me. I don’t really know how to improve on this. I suppose these regular blog posts are a start.
I talk about improving and changing my attitude because I’m also trying to adopt a growth-oriented mindset. For most of my life, I’ve been stuck in the fixed mindset. Sure, I knew things can change and evolve, but that ultimately there is a limit to one’s ability. Even now I still think that, but I realize that it’s more important to focus on maximizing that potential instead of dwelling on what could have been. I’ve seen a bit how other people operate through peer pairing, and I think having different thinkstyles mixed together does make a problem easier to tackle. I would like to see how well this translates to larger groups and maybe pick up a thing or two about how others solve problems.


--- layout: post authors: ["Greg Wilson"] title: "PyCon 2014 Videos" date: 2014-04-27 time: "11:00:00" tags: ["Community"] ---
A double handful of people associated with Software Carpentry gave talks at PyCon 2014 in Montreal two weeks ago. Thanks to Sheila Miguez and Will Kahn-Greene (who run the excellent PyVideo site), you can now view their presentations:


"Light Makes Right"
July 10, 1992
Volume 5, Number 1
Compiled by
All contents are copyright (c) 1991,1992, all rights reserved by the individual authors
Archive locations: anonymous FTP at
ftp://ftp-graphics.stanford.edu/pub/Graphics/RTNews/,
wuarchive.wustl.edu:/graphics/graphics/RTNews, and many others.
You may also want to check out the Ray Tracing News issue guide and the ray tracing FAQ.
I've got a confirmed room in the Convention Center during the dead time between when the sessions end and the technical reception begins. Look for an announcement of the location wherever "Special Interest Groups" are listed (I'll probably also list it under "Birds of a Feather", if like last year they don't post where the SIG meetings are located (The difference between a "BOF" and a "SIG" meeting? All I know is I can reserve a room if it's a "SIG" meeting)).
Official time: 5:15-6:15 pm Thursday, July 30th
No guarantees about the shape of the table...
________
It's a bit embarrassing putting this issue together, reading the backlog of notes ending in phrases like "have a nice Xmas". What can I say, I've been busy... Culling through all this stuff has been pleasant. There are some nice new ideas and interesting research results. I've tried to minimize the endless stream of announcements about some of the new free software (geez, don't these people know the rest of us are trying to make money selling this stuff?!) by summarizing these in an article called "Ray Tracing Roundup".
By the way, if you're reading this on comp.graphics, don't ask to subscribe - "The RT News" is always posted to comp.graphics. If you think you missed an issue, check the princeton.edu archive site (assuming you have FTP).
There is a lot more stuff to wade through, a few articles I want to pass by the authors again, etc, but for now I thought the amount of material was enough to make an issue. Enjoy, and see you at SIGGRAPH.
back to contents
I have become very involved in developing algorithms for ray tracing, especially in statistical analysis and "smart" ray-tree pruning and antialiasing. I am also working on a method of "on-demand modelling" where a ray tracer might not even compute an object's polygons unless its bounding volume is pierced. Thus, forests of millions of trees are possible with modest memory requirements: distant trees are never even synthesized. (This is one algorithm where true ray tracing is orders of magnitude faster than a Z buffer or scanline algorithm... a scary thought!) I have also written code for over 100 (!) Perlin-style solid textures as a commercial product.
________
Manoj Patel - stereo, motion blur Computer Science Department North Carolina State University Raleigh, N.C. 27695-8206<PHONE_NUMBER> e-mail<EMAIL_ADDRESS>I am a lowly graduate student at North Carolina State University. I am working on combining motion blur and stereo (using a modified version of Rayshade). My speciality is staying incredibly busy 24 hrs a day but getting very little done :-).
I would be interested in hearing from people that have implemented motion blur. I have been assuming that most people use supersampling or stochastic sampling (across about 8 - 24 time frames), but have few sources to back this up (i.e please tell me know what is done "in the real world").
________
Laurie Gerholz Unisys Corporation 3199 Pilot Knob Road, M.S. F2L09 Eagan, MN 55121<PHONE_NUMBER><EMAIL_ADDRESS>My interests in computer graphics currently include ray tracing techniques, radiosity techniques, and methods of building scene models which can be rendered via ray tracing or radiosity. I am currently working on a ray tracing scene renderer which will run under Microsoft Windows. This is a part-time hobby effort, not at all related to my real job (too bad!).
________
Antonio Costa - ray tracing, visualization, modeling INESC - North Largo Mompilher 22 4100 Porto Portugal (351 2) 321006 ext. 329 alias antonio_costa<EMAIL_ADDRESS># alias antonio_costa<EMAIL_ADDRESS>I have developed my own extensible ray tracer in the past 2 years for U*ix, VMS, DOS and Transputers. I am very interested in texturing (2D and 3D) and better ray tracing... I am also doing some things in scientific visualization applied to medicine. I am looking for a subject to start my PhD work next year. [The ray tracer is at asterix.inescn.pt [<IP_ADDRESS>]. It does bicubic patches and other interesting things. -EAH]
________
Brian Corrie
I am moving to the land down under, to work on the Visualization project at the Australian National University in Canberra. Interests are the same as before, roughly, Realistic Rendering, Shading Languages, and Parallelization. They have some interesting hardware down there. I will be working on a 128 node Fujitsu AP1000, a MIMD parallel machine, parallelizing algorithms for visualization. My new email address is<EMAIL_ADDRESS>G'day.
back to contents
* Texturing: I had a smelly problem with the AutoCAD entity "polyface" (= a bunch of vertices and then a bunch of 3angles or 4angles referring to those by index) since AutoCAD don't know a THING about texturing, it naturally does not include texturing coordinates.
What I *did* was simple, but (semi) effective: Look at ye normal vector. If Z component is largest, texture in XY space, if Y is largest, texture in XZ space, and if X is largest in YZ space! That created good results as long as the objects depicted were boxes and such, a brick texture was correctly oriented automatically on the faces and so on. Curved surfaces Weren't that good (I used the pre-smoothing normal, so each polygon had its own texturing at least, i.e. no change of texture-space over the polygon). But what the heck, it look quite alright, and actually, some of the funnier effects of the weird texturing on curved objects looked like some kind of inlaid material (like inlaid wood) or so where texture space just happened to swap. Perhaps you have thought of some similar criteria?
[Indeed I have - I independently invented this method a few years back, and I've found it useful since then. It's particularly good with textures like carpet or iron or suchlike: there is little distortion and you usually can't see the discontinuities when things flip from one "face" to another. Even when there is some "grain" to the texture, it usually looks pretty cool. - EAH]
Another idea I had was to average ALL NORMALS in any given polysurface, weighted by area, and that would give me a "normal" to the objects "most flat" orientation... then one would texture in the plane orthogonal to that normal... The problem is that one most often want the X direction of a texture to follow the horizon (not to get rotated textures)...
back to contents
%A Michael Gigante %T Accelerated Ray Tracing Using Non-Uniform Grids %J Proc. of Ausgraph '90 %C Melbourne, Australia %D Sept. 1990 %P 157-63
- EAH]
As I made the claim that NUgrid would "just take care of the SPD balls example automatically", I thought I would followup on some results. These results are using rayshade 4.0.2 for which we have added NUgrid as well as the existing uniform grid. This model is exactly as generated by your SPD program (i.e. no hand tweaking to remove the ground plane from the uniform grid):
Resolution Grid Method NuGrid Method 8 7810.45 850.94 10 7083.62 647.86 12 7248.39 574.53 14 6477.42 518.00 16 5759.92 540.98 18 5000.04 532.22 20 4235.32 567.90 22 3407.94 558.84 24 2837.32 552.42 26 2544.04 537.30
note that NUgrid is far less sensitive to grid resolution and of course is significantly faster :-)
NUgrid doesn't always win as much, but it is always less sensitive to picking the "right" grid resolution.
[I would like to see how these results compare to two level gridding (i.e. complicated objects get their own grid - see next article). An automatic way to implement this is if a box contains more than so many items, nest a gridded box in it. This is one of David Jevans & Brian Wyvill's ideas in "Adaptive Voxel Subdivision for Ray Tracing," Proceedings of Graphics Interface '89, and has evidently been used by Alias Inc, to good effect. I wish some Rayshade hacker would go and implement this method (hint hint). - EAH]
[Mike wrote about some interesting new results he's found that's made NuGrid even faster; hopefully more about these in the next issue. - EAH]
back to contents
In the mid eighties I did some experiments comparing a sequential ray traversal with a recursive ray traversal for an adaptive spatial subdivision (Excell). See also the discussion in the RTnews issues of March 26, 1988, Jim Arvo: Linear-time voxel walking for BSP and April 7, 1988, Erik Jansen: Re: Linear-time voxel walking for BSP. I did not found a clear difference in performance between the two methods (of course the Excell spatial directory is an efficient index, not requiring any tree traversal), as reported in the above mentioned issues of RTnews.
Nevertheless, papers are still appearing in conferences and journals that either prove that recursive traversal is performing worse than a newly proposed method or performing better in those cases where it is proposed as a 'new' method. This is reason enough to do a new comparison.
As part of a master's thesis project Wim de Leeuw first did some experiments with recursive traversal on an adaptive binary space subdivision, comparing it with the DDAOCT algorithm of Kelvin Sung (Eurographics'91). The DDAOCT did certainly not do better than the recursive method. Furthermore the DDAOCT method is very sensitive to the size of the hashtable.
Secondly, the recursive traversal/adaptive subdivision algorithm was implemented in Rayshade, a very fast ray tracer using a sequential grid traversal algorithm (see RayShade 4.0 and RayShade timings in RTnews Nov, 20, 1991). The uniform grid method of RayShade is very sensitive to the 'teapot in stadium' problem and therefore RayShade provides a two-level grid option: a grid for the whole scene and separate grids for complex (sub)objects. The adaptive subdivision/recursive ray traversal was implemented with only minor modifications to RayShade. The recursive traversal uses a stack and alternatively halfs the xmin-xmax, ymin-ymax, zmin-zmax ray intervals as described in RTnews April 7, 1988.
Here are the timings for the two/three methods (in seconds on a HP-700):
model grid grid/subgrid recursive/bsp
balls 942 156 366 gears<PHONE_NUMBER> mount 214 263 rings 307 299 441 teapot 154 171 tetra 39 84 tree 2246 134 278 conf.room 283 269
Conf. room is the room by Greg Ward that was converted from Radiance format to RayShade format.
As you see RayShade (with two-level grid) is indeed very fast, mainly because of the additional raybox test within each cell. The raybox test is not of much use in an adaptive subdivision because the cells are already tight enough.
Of course there are always ways to improve the recursive version by making larger changes to RayShade, for instance by inputting polygons not by their enclosing box but by their own extent, but that would not really change the picture, we think.
These have been our experiments so far. The code for the recursive ray traversal and the model data of the conference room can be obtained from us (fwj@duticg.tudelft.nl).
________
[I received this from Kelvin Sung<EMAIL_ADDRESS>in response. - EAH]
I hope I have pointed this out in comp.graphics, but in [the Eurographics '91] paper when I say "ARVO", I was referring to Glassner's Tree Coherence (Re: SIGGRAPH 90 Advance Ray Tracing Course Notes). It was my mistake. In that paper, I did not actually compare DDAOCT with Arvo's linear tree walking or Eric Jansen's recursive algorithm. I agree 100% with their claim. In fact, after realizing my mistake during the September Eurographics '91 conference, in November Peter Shirley and I implemented Arvo's linear tree walking algorithm and tested things out and we realized that linear tree walking is a better algorithm (independently from Jansen). We wrote up our experience as a Gem (which will appear in Graphics Gems III, as "Ray Tracing with the BSP Tree").
[Note that the code for Graphics Gems III is now available on princeton.edu in pub/Graphics. The book itself will be out at SIGGRAPH from Academic Press.]
back to contents
From Dan:
I am rendering large protein structures with overlapping reflective spheres. 'Engridding' the primitives speeds the rendering considerably, as might be expected for a big conglomerate of 2000 spheres. My choice of grid size has been made mostly through trial-and-error, though.
So here's my question: Assuming a near-uniform density of primitives, what primitive/voxel ratio will result in optimal performance? Or does it vary a lot from one case to another? My trials (however limited) suggest a ratio of about 4 or 5 primitives/voxel. Does anyone have any suggestions?
From Marc:
That's about what I settled on a while back (again through trial and error), something like a 10x10x10 grid for 5000 spheres. It would sure be nice if Rayshade could compute an optimum grid size based on primitive distribution.
back to contents
I just finished an undergraduate thesis in ray tracing. I implemented a ray tracer in C++ and compared a number of optimization strategies. I thought you might be interested in some of the results I ran into.
- Bounding volume hierarchies generated by the technique of Goldsmith and Salmon yield huge speedups over naive ray tracing (obviously). I'd guess 10-20X.
- You go slower if you combine with Snyder-Barr ray boxes because the ray box rejection rate is small (45%) and you have to recompute the ray box every time the ray hits a bounding volume (which is frequently when the BVH was generated automatically).
- Kay-Kajiya BVH traversal reduces the number of intersections, but not by much in my experience. In fact, only the Sphereflake image (modified from the SPD) saw a big enough reduction for the priority queue to be worthwhile. A 20% reduction in intersections resulted in a <4% speedup over the naive traversal. In the other test images, naive traversal was faster.
[I asked what "Snyder-Barr" boxes were in this context. -EAH]
Snyder-Barr boxes:
When you hit a bounding volume, enclose the ray's traversal of the bounding volume in a "ray box." This is an axis-aligned bounding box using the two points where the ray enters and exits the bounding box. An object cannot intersect the ray unless its bounding box intersects the ray box. If the bounding box for each object is precomputed, it costs you at most six comparisons to reject the intersection, or after six comparisons you have to do the intersection calculation after all. And since most ray boxes only enclose a small fraction of the bounding box's volume, the rejection rate should be high.
Also, if you find an intersection you can make the ray box smaller ("restrict" it?) because you know that a closer intersection isn't going to be found beyond the one you just found. This is done using the ray's direction cosines.
If you have a super-naive BVH (example: one root bounding volume), this works great. The ray hits the root, you enclose its traversal of the root bounding volume in a ray box. The ray box encloses a tiny fraction of the root bounding volume, so you get 95-99% rejection rate, i.e. almost all intersection calculations end after <=6 comparisons. The problem is that it doesn't reduce the number of intersection tests, just makes them a lot cheaper, so using a G-S hierarchy is much better. And when you combine the two, you hit so many bounding boxes (which requires you to compute the points where the ray enters and exits the bounding box, then do a bunch of comparisons so the ray box is defined by min/max vectors) that it's not worth the trouble.
back to contents
TTDDD: these programs convert 3D objects in the binary TTDDD format into either OFF, NFF, Rayshade, or vort format. There is also a Postscript object viewer (very handy - I can quickly preview objects using GhostScript), and it also outputs Framemaker MIF files. These programs are SHAREWARE. Registered users also get code to automatically convert text strings into 3D objects using any TeX font. This package and many objects are available at wuarchive.wustl.edu, in /graphics/graphics/objects/TDDD. Some of the objects are excellent: one of my favorite test objects is the Star Wars "Imperial Scout Walker." Contact Glenn Lewis (glewis@pcocd2.intel.com).
There are a number of new VORT input files from Italy. (Contact Alessandro Villani (raytr@astrpi.difi.unipi.it)). They are available for anonymous ftp:
pub/contrib/artscenes/room.tar.Z on gondwana.ecr.mu.oz.au (<IP_ADDRESS>) pub/graphics/room.tar.Z on munnari.oz.au (<IP_ADDRESS>)
The models are mainly objects in a room: clock, ashtray, bed, lights, television, etc. Contact Eric H. Echidna<EMAIL_ADDRESS>RayShade is now in version 4.0.6 at princeton.edu:pub/Graphics. There is an active, helpful mailing list for this group - contact<EMAIL_ADDRESS>to get put on it.
Inetray is a network version for running Rayshade 4.0. FTP it from maggia.ethz.ch (directory pub/inetray). It allows parallel calculation of rayshade pictures for multiprocessing machines and over a network of machines. You need SUN RPC 4.0 or newer. Contact Andreas Thurnherr<EMAIL_ADDRESS>for more information.
There is an X window fonts converter into Rayshade 3.0 polygons, by Ron Sass (sass@cps.msu.edu). Anonymous ftp from acs.cps.msu.edu in the file pub/sass/gentxt.c. There is also a tool for Rayshade animation here.
The code for a recursive ray traversal efficiency scheme for RayShade and the model data of Greg Ward's conference room can be obtained from Erik Jansen (fwj@duticg.tudelft.nl). Hopefully this will be made available via FTP some time soon. See the related article in this issue.
Radiance is going great guns. There's now even an Amiga port of Radiance 2.0. Check hobbes.lbl.gov (<IP_ADDRESS>) /pub/ports/amiga or osgiliath.id.dth.dk (<IP_ADDRESS>) /pub/amiga/graphics/Radiance. Contact Per Bojsen (bojsen@ithil.id.dth.dk).
The IRIT solid modeler 3.0 is now available at an ftp site near you, e.g. ftp.uu.net (<IP_ADDRESS>):/graphics/irit, among others. This is an X-based CSG modeller which now includes freeform surfaces, and it runs on a large number of platforms.
At asterix.inescn.pt [<IP_ADDRESS>] is a ray tracer by Antonio Costa. I haven't played with it, but it evidently renders bicubic patches and other interesting things.
POV (aka Son of DKBTrace, done by people on CompuServe) still seems to be in beta test or somesuch.
Studio Amiga is a 3D modelling and ray tracing specific BBS,<PHONE_NUMBER>. 24 hours, 105 Meg online.
The Utah Raster Toolkit version 3.1 should be out of testing some time after SIGGRAPH. There are a number of bug fixes and so on - worth getting if you use it. Harass Spencer Thomas for when it'll be out<EMAIL_ADDRESS>If you are interested in Greg Turk's work on reaction-diffusion textures (SIGGRAPH '91), he's placed C code for generating these in the anonymous ftp directory at UNC. Connect to ftp.cs.unc.edu and grab the files in the directory pub/reaction_diffusion.
Greg notes an implementation detail accidentally left out of the paper: The value of chemical "b" should not be allowed to go below zero. While I'm on the subject, I noticed a minor typo in the Witkin/Kass paper on the topic: the center term in equation four should be "-4 * a^2 - h^2 * b". Also, their reference #2 has incorrect page numbers - should be 363-385.
Graphics Gems III code is available via anonymous FTP at princeton.edu in /pub/Graphics/GraphicsGems/GemsIII. Have fun puzzling it out (since the book itself is not out quite yet). There are some nice bits, like Ben Trumbore's bounding volumes (I *think* I know what he's doing...) and Kelvin Sung's new BSP code.
back to contents
The server is the official archive site for the Lightwave 3D mail-list.
Besides the above mentioned image-based files, the server contains many PD and Shareware graphics utilities for several computer platforms including Amiga, IBM and Macintosh.
Some samples include:
DKBTRACE - Raytracer for IBM, Amiga and Mac RAYSHADE - Raytracer for the Mac QRT - Raytracer for IBM, Amiga and Mac [...] Objects - Objects for Imagine, Videoscape, Lightwave and others Demos - ImageCels, Caligari, Autodesk 3D Studio and others
Plus much more! And many more to come!
The server resides on my BBS called "The Graphics BBS". The BBS is operational 24 hours a day 7 days a week at the phone number of +1 908/469-0049. It utilizes a Hayes V-Series 9600 V.42 modem. (soon to upgrade to a V.32 modem)
If you would like to submit objects, scenes or images to the server, please pack, uuencode and then mail the files to the address:
<EMAIL_ADDRESS>For information on obtaining files from the server send a mail message to the address:
<EMAIL_ADDRESS>with the following in the body of the message:
HELP /DIR
and a help file describing how to use the server and a complete directory listing will be sent to you via mail.
back to contents
I actually use it since I do a lot of mathematical/parametric modelling using C code. Since I have an Amiga at home and a Sun at work, I can output rayshade objects and render them at work, or Imagine objects and render them at home; very convenient. In fact, I got started with parametric modelling about a year and a half ago by tearing apart your "tree" program you wrote for the SPD package; now I'm working on exploding objects, and breaking them in "reasonable" places when they are subjected to stress. Lots of fun! I also worked with Glenn to try to produce an algorithm to morph different objects into one another. It wasn't a dismal failure, but it is nothing I want to try to sell to ILM... I also enjoy playing with building new Perlin-style solid textures. That's ALWAYS a lot of fun.
back to contents
Ok, here's what you do:
Check if rmajor > rminor.
If so, hit is OK as is.
If not, calculate the distance between the hit you got and torus center. We will be needing the distance SQUARED, so no need for a square root. Put the distance squared in variable SqrDist.
If rmajor < rminor && rmajor > 0 if SqrDist < (rminor*rminor - rmajor*rmajor) then discard the hit, it's on the wrong surface. If rmajor < rminor && rmajor < 0 if SqrDist > (rminor*rminor - rmajor*rmajor) then discard the hit, it's on the wrong surface.
Voila!
________
Joe Cychosz<EMAIL_ADDRESS>responds:
I did test the case where the torus was degenerate, however I did not consider the application sense of it not really being a wanted surface. I will study this further and incorporate your suggestion.
Also, not include in the GEM is the following code which compensates for the order of the roots being transposed. I didn't include it since it would make the GEM dependent on the behaviour of the root solver.
Insert after the call to SolveQuartic:
/* SolveQuartic returns root pairs in reversed order. */ if ( *nhits > 1 ) m = rhits[0]; u = rhits[1]; rhits[0] = u; rhits[1] = m; if ( *nhits > 3 ) m = rhits[2]; u = rhits[3]; rhits[2] = u; rhits[3] = m;
back to contents
I am after any info on the Taos parallel processor raytracing stuff.
The reason I sat up and paid attention when I read about Taos was only because of the way it handles code from a programmer's point of view.
Apparently it doesn't link the program at the compilation stage but rather downloads the objects as and when they are needed, and destroys them as they are finished with (how quickly depends on their priority). Also, if one branch calls an object which is already resident on another node rather than load dwon from the data store it loads in from the other node.
Also, the programmer doesn't need to allocate them to the nodes and ensure that all the node loads are balanced. Indeed Taos does this for the programmer to supposedly ensure optimum performance.
It can apparently do a 790x400 24bpp colour raytrace on 256 compound objects in under 15 minutes. And supposedly a 50x50 array of em can do real-time raytracing....
back to contents
Next "bad" thing with standard Phong is the inability to get really shiny surfaces. Pumping up the specular exponent makes the shiny spot SMALLER, not (as it should) SHARPER. So it might look pretty shiny on a sphere, but use it on a cube, the chance of you ever SEEING that tiny little specular spot is very small, unless the light is positioned just right in respect to the viewer and some cube surface.
There is a nice and simple trick for this, used frequently by Pixar in their little movies: You simply threshold the specular light instead of feeding it directly to the output light. Let's assume we have a function similar to the Renderman (tm) function SmoothStep() that work like this:
Smoothstep(a,b,x)
if (x < a) return 0.0; if (x > b) return 1.0; if (x > a and x < b) return a smooth gradation between 0.0 and 1.0 (Pixar uses a hermite spline I think)
Then let our "all new" specular highlight be...
OLD specular formula: Ks * (cos b ^ Ke)
NEW specular formula: Ks * SmoothStep(0.4,0.5,cos b ^ Ke)
...where the numbers (here 0.4 and 0.5) could be anything you wish. This gives the surface a "glazed" appearance and may be useful modelling glass and similar.
back to contents
if ( t < 0.0 ) return ( MISSED ) ; if ( t < tfar ) { /* hit near face, update normal */
It should be:
if ( t < tnear ) return ( MISSED ) ; <-- 0.0 to tnear if ( t < tfar ) { /* hit far face, update normal */ <-- near to far
Also, the text in Graphics Gems II has the same bug. The last sentence on page 249 should be:
"If the compute t is less than tnear, then the polyhedron is ..." ^ +--was "0"
back to contents