RiLinkStrategy

Encapsulates the Quadrature over the receiver and the building of links

This is an abstract class and cannot be directly instanced.


[ Rad | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION
WARNING
PATTERN

Class Summary

class RiLinkStrategy
{
public:
void Link(RiRefine &data) const; // pure virtual
bool ComputeTransfer(RiRefine &data) const;
const RiLinkStrategy &GetRefinedLinkStrategy(RiRefine &data) const;
protected:
}; // RiLinkStrategy


DESCRIPTION

This is a strategy (or strategy family) that is responsible for computing the data needed for building links and deciding refinement issues and then actually building the links (used by RiRefineStrategy). This enables a lot of flexibility in changing things. It also allows the system to have different strategies for different situations (completely unoccluded, linked to eye, linked to an object with no form factor capability) and build the appropriate links for them.


WARNING

This class should have no data. It is always referenced, never copied. This allows all data to be in a class (RiRefine) with no virtual methods.


PATTERN

Strategy

void Link(RiRefine &data) const;

Do any actions between the src and rec given that they have been subdivided to an appropriate level.

    virtual void Link(RiRefine &data) const;    

bool ComputeTransfer(RiRefine &data) const;

computes all form factor/error/visibility info. Returns false if the two surfaces don't interact.

    virtual bool ComputeTransfer(RiRefine &data) const;

const RiLinkStrategy &GetRefinedLinkStrategy(RiRefine &data) const;

Get somebody to handle the children's link building

    virtual const RiLinkStrategy &GetRefinedLinkStrategy(RiRefine &data) const;

All Members

public:
void Link(RiRefine &data) const; // pure virtual
bool ComputeTransfer(RiRefine &data) const;
const RiLinkStrategy &GetRefinedLinkStrategy(RiRefine &data) const;
protected:

Ancestors

Class does not inherit from any other class.


Descendants

Class is not inherited by any others.


Generated from source by the Cocoon utilities on Fri Feb 25 15:15:46 2000 .