Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
sc::Shape(3)			     MPQC			  sc::Shape(3)

NAME
       sc::Shape - A Shape is a	Volume represents an 3D	solid.

SYNOPSIS
       #include	<shape.h>

       Inherits	sc::Volume.

       Inherited by sc::ConnollyShape, sc::SphereShape,
       sc::Uncapped5SphereExclusionShape, sc::UncappedTorusHoleShape, and
       sc::UnionShape.

   Public Member Functions
       Shape (const Ref< KeyVal	> &keyval)
       virtual double distance_to_surface (const SCVector3 &r, SCVector3
	   *grad=0) const =0
       virtual int is_outside (const SCVector3 &r) const
       void compute ()
	   Recompute at	least the results that have compute true and are not
	   already computed.
       void interpolate	(const SCVector3 &p1, const SCVector3 &p2, double val,
	   SCVector3 &result)
       int value_implemented ()	const
	   Information about the availability of values, gradients, and
	   hessians.

       Public Member Functions inherited from sc::Volume
       Volume (const Ref< KeyVal > &)
       void set_gradient (const	SCVector3 &g)
       void set_gradient (RefSCVector &g)
       void get_gradient (SCVector3 &g)
       void set_x (const SCVector3 &x)
       void set_x (const RefSCVector &x)
	   Set and retrieve the	coordinate values.
       void get_x (SCVector3 &x)
       virtual void boundingbox	(double	valuemin, double valuemax, SCVector3
	   &p1,	SCVector3 &p2)=0
       virtual void interpolate	(const SCVector3 &p1, const SCVector3 &p2,
	   double value, SCVector3 &result)
       virtual void solve (const SCVector3 &p, const SCVector3 &grad, double
	   value, SCVector3 &result)

       Public Member Functions inherited from sc::Function
       virtual RefSCVector gradient ()
       int gradient_needed () const
       int do_gradient (int)
       virtual void set_desired_gradient_accuracy (double)
       virtual double actual_gradient_accuracy () const
       virtual double desired_gradient_accuracy	() const
       AccResultRefSCVector & gradient_result ()
       virtual RefSymmSCMatrix hessian ()
       int hessian_needed () const
       int do_hessian (int)
       virtual void set_desired_hessian_accuracy (double)
       virtual double actual_hessian_accuracy () const
       virtual double desired_hessian_accuracy () const
       AccResultRefSymmSCMatrix	& hessian_result ()
       virtual void guess_hessian (RefSymmSCMatrix &)
	   Compute a quick, approximate	hessian.
       virtual RefSymmSCMatrix inverse_hessian (RefSymmSCMatrix	&)
       virtual int gradient_implemented	() const
       virtual int hessian_implemented () const
       RefSCVector get_x () const
       const RefSCVector & get_x_no_copy () const
       virtual Ref< NonlinearTransform > change_coordinates ()
	   An optimizer	can call change	coordinates periodically to give the
	   function an opportunity to change its coordinate system.
       virtual void print (std::ostream	&=ExEnv::out0()) const
	   Print information about the object.
       Function	()
       Function	(StateIn &)
       Function	(const Function	&)
       Function	(const Ref< KeyVal > &,	double funcacc=DBL_EPSILON, double
	   gradacc=DBL_EPSILON,	double hessacc=DBL_EPSILON)
	   The keyval constructor reads	the following keywords:
       virtual ~Function ()
       Function	& operator= (const Function &)
       Ref< SCMatrixKit	> matrixkit () const
	   Return the SCMatrixKit used to construct vectors and	matrices.
       RefSCDimension dimension	() const
	   Return the SCDimension of the problem.
       virtual void save_data_state (StateOut &)
	   Save	the base classes (with save_data_state)	and the	members	in the
	   same	order that the StateIn CTOR initializes	them.
       virtual double value ()
	   Return the value of the function.
       int value_needed	() const
	   Returns nonzero if the current value	is not up-to-date.
       int do_value (int)
	   If passed a nonzero number, compute the value the next time
	   compute() is	called.
       AccResultdouble & value_result ()
       virtual void set_desired_value_accuracy (double)
	   Set the accuracy to which the value is to be	computed.
       virtual double actual_value_accuracy () const
	   Return the accuracy with which the value has	been computed.
       virtual double desired_value_accuracy ()	const
	   Return the accuracy with which the value is to be computed.

       Public Member Functions inherited from sc::SavableState
       SavableState & operator=	(const SavableState &)
       void save_state (StateOut &)
	   Save	the state of the object	as specified by	the StateOut object.
       void save_object_state (StateOut	&)
	   This	can be used for	saving state when the exact type of the	object
	   is known for	both the save and the restore.
       virtual void save_vbase_state (StateOut &)
	   Save	the virtual bases for the object.
       virtual void save_data_state (StateOut &)
	   Save	the base classes (with save_data_state)	and the	members	in the
	   same	order that the StateIn CTOR initializes	them.

       Public Member Functions inherited from sc::DescribedClass
       DescribedClass (const DescribedClass &)
       DescribedClass &	operator= (const DescribedClass	&)
       ClassDesc * class_desc () const	throw ()
	   This	returns	the unique pointer to the ClassDesc corresponding to
	   the given type_info object.
       const char * class_name () const
	   Return the name of the object's exact type.
       int class_version () const
	   Return the version of the class.
       virtual void print (std::ostream	&=ExEnv::out0()) const
	   Print the object.

       Public Member Functions inherited from sc::RefCount
       int lock_ptr () const
	   Lock	this object.
       int unlock_ptr () const
	   Unlock this object.
       void use_locks (bool inVal)
	   start and stop using	locks on this object
       refcount_t nreference ()	const
	   Return the reference	count.
       refcount_t reference ()
	   Increment the reference count and return the	new count.
       refcount_t dereference ()
	   Decrement the reference count and return the	new count.
       int managed () const
       void unmanage ()
	   Turn	off the	reference counting mechanism for this object.
       int managed () const
	   Return 1 if the object is managed. Otherwise	return 0.

       Public Member Functions inherited from sc::Identity
       Identifier identifier ()
	   Return the Identifier for this argument.

       Public Member Functions inherited from sc::Compute
       virtual void obsolete ()
	   Marks all results as	being out of date.

   Additional Inherited	Members
       Static Public Member Functions inherited	from sc::SavableState
       static void save_state (SavableState *s,	StateOut &)
       static SavableState * restore_state (StateIn &si)
	   Restores objects saved with save_state.
       static SavableState * key_restore_state (StateIn	&si, const char
	   *keyword)
	   Like	restore_state, but keyword is used to override values while
	   restoring.
       static SavableState * dir_restore_state (StateIn	&si, const char
	   *objectname,	const char *keyword=0)

       Protected Member	Functions inherited from sc::Volume
       double &	interpolation_accuracy ()
       virtual void compute ()=0
	   Recompute at	least the results that have compute true and are not
	   already computed.
       virtual void failure (const char	*)

       Protected Member	Functions inherited from sc::Function
       virtual void set_value (double)
       virtual void set_hessian	(RefSymmSCMatrix &)
       virtual void set_matrixkit (const Ref< SCMatrixKit > &)
	   Set the SCMatrixKit that should be used to construct	the requisite
	   vectors and matrices.
       virtual void set_dimension (const RefSCDimension	&)
       virtual void set_actual_value_accuracy (double)
       virtual void set_actual_gradient_accuracy (double)
       virtual void set_actual_hessian_accuracy	(double)
       RefSCVector & get_x_reference ()
	   Get read/write access to the	coordinates for	modification.
       void do_change_coordinates (const Ref< NonlinearTransform > &)
	   Change the coordinate system	and apply the given transform to
	   intermediates matrices and vectors.

       Protected Member	Functions inherited from sc::SavableState
       SavableState (const SavableState	&)
       SavableState (StateIn &)
	   Each	derived	class StateIn CTOR handles the restore corresponding
	   to calling save_object_state, save_vbase_state, and save_data_state
	   listed above.

       Protected Member	Functions inherited from sc::RefCount
       RefCount	(const RefCount	&)
       RefCount	& operator= (const RefCount &)
       virtual void compute ()=0
	   Recompute at	least the results that have compute true and are not
	   already computed.

       Protected Attributes inherited from sc::Function
       Ref< SCMatrixKit	> matrixkit_
	   Used	to construct new matrices.
       RefSCVector x_
	   The variables.
       RefSCDimension dim_
	   The dimension of x_.
       AccResultdouble value_
	   The value of	the function at	x_.
       AccResultRefSCVector gradient_
	   The gradient	at x_.
       AccResultRefSymmSCMatrix	hessian_
	   The hessian at x_.

Detailed Description
       A Shape is a Volume represents an 3D solid.

       The value of the	Shape at each point in space is	the distance to	the
       surface.	The distance is	negative if the	point is inside	the solid. For
       Shape specializations that cannot compute the distance to the surface,
       the value will be 1.0 outside and -1.0 inside the solid.

Member Function	Documentation
   void	sc::Shape::compute () [virtual]
       Recompute at least the results that have	compute	true and are not
       already computed. This should only be called by Result's	members.

       Implements sc::Volume.

   void	sc::Shape::interpolate (const SCVector3	& p1, const SCVector3 &	p2,
       double val, SCVector3 & result) [virtual]
       Reimplemented from sc::Volume.

   int sc::Shape::value_implemented () const [virtual]
       Information about the availability of values, gradients,	and hessians.

       Reimplemented from sc::Function.

Author
       Generated automatically by Doxygen for MPQC from	the source code.

Version	2.3.1			Tue May	13 2025			  sc::Shape(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sc_Shape&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help