Panda3D
|
This is a set of zero or more ParametricCurves, which may or may not be related. More...
#include "parametricCurveCollection.h"
Public Member Functions | |
void | add_curve (ParametricCurve *curve, int index) |
Adds a new ParametricCurve to the collection at the indicated index. | |
void | add_curve (ParametricCurve *curve) |
Adds a new ParametricCurve to the collection. | |
int | add_curves (PandaNode *node) |
Adds all the curves found in the scene graph rooted at the given node. | |
bool | adjust_hpr (float t, const LVecBase3f &xyz) |
Adjust the HPR curve at the indicated time to the new value. | |
bool | adjust_hpr (float t, float h, float p, float r) |
Adjust the HPR curve at the indicated time to the new value. | |
bool | adjust_xyz (float t, float x, float y, float z) |
Adjust the XYZ curve at the indicated time to the new value. | |
bool | adjust_xyz (float t, const LVecBase3f &xyz) |
Adjust the XYZ curve at the indicated time to the new value. | |
void | clear () |
Removes all ParametricCurves from the collection. | |
void | clear_timewarps () |
Removes all the timewarp curves from the collection. | |
bool | evaluate (float t, LVecBase3f &xyz, LVecBase3f &hpr) const |
Computes the position and rotation represented by the first XYZ and HPR curves in the collection at the given point t, after t has been modified by all the timewarp curves in the collection applied in sequence, from back to front. | |
bool | evaluate (float t, LMatrix4f &result, CoordinateSystem cs=CS_default) const |
Computes the transform matrix representing translation to the position indicated by the first XYZ curve in the collection and the rotation indicated by the first HPR curve in the collection, after t has been modified by all the timewarp curves in the collection applied in sequence, from back to front. | |
bool | evaluate_hpr (float t, LVecBase3f &hpr) const |
Computes only the HPR part of the curves. | |
float | evaluate_t (float t) const |
Determines the value of t that should be passed to the XYZ and HPR curves, after applying the given value of t to all the timewarps. | |
bool | evaluate_xyz (float t, LVecBase3f &xyz) const |
Computes only the XYZ part of the curves. | |
void | face_forward (float segments_per_unit) |
Discards the existing HPR curve and generates a new one that looks in the direction of travel along the XYZ curve, based on the XYZ curve's tangent at each point. | |
ParametricCurve * | get_curve (int index) const |
Returns the nth ParametricCurve in the collection. | |
ParametricCurve * | get_default_curve () const |
If there is an XYZ curve in the collection, returns it; otherwise, returns the first curve whose type is unspecified. | |
ParametricCurve * | get_hpr_curve () const |
Returns the first HPR curve in the collection, if any, or NULL if there are none. | |
float | get_max_t () const |
Returns the maximum T value associated with the last* curve in the collection. | |
int | get_num_curves () const |
Returns the number of ParametricCurves in the collection. | |
int | get_num_timewarps () const |
Returns the number of timewarp curves in the collection. | |
int | get_ref_count () const |
Returns the current reference count. | |
ParametricCurve * | get_timewarp_curve (int n) const |
Returns the nth timewarp curve in the collection. | |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. | |
ParametricCurve * | get_xyz_curve () const |
Returns the first XYZ curve in the collection, if any, or NULL if there are none. | |
bool | has_curve (ParametricCurve *curve) const |
Returns true if the indicated ParametricCurve appears in this collection, false otherwise. | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. | |
void | make_even (float max_t, float segments_per_unit) |
Discards all existing timewarp curves and recomputes a new timewarp curve that maps distance along the curve to parametric time, so that the distance between any two points in parametric time is proportional to the approximate distance of those same two points along the XYZ curve. | |
MAKE_SEQ (get_timewarp_curves, get_num_timewarps, get_timewarp_curve) | |
MAKE_SEQ (get_curves, get_num_curves, get_curve) | |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr) |
void | operator delete[] (void *, void *) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t size) |
void * | operator new (size_t size, void *ptr) |
void * | operator new[] (size_t size) |
void * | operator new[] (size_t size, void *ptr) |
void | output (ostream &out) const |
Writes a brief one-line description of the ParametricCurveCollection to the indicated output stream. | |
int | r_add_curves (PandaNode *node) |
The recursive implementation of add_curves(). | |
bool | recompute () |
Ensures all the curves are freshly computed and up-to-date. | |
void | ref () const |
Explicitly increments the reference count. | |
void | register_drawer (ParametricCurveDrawer *drawer) |
Registers a Drawer with this curve collection that will automatically be updated whenever the collection is modified, so that the visible representation of the curve is kept up to date. | |
bool | remove_curve (ParametricCurve *curve) |
Removes the indicated ParametricCurve from the collection. | |
void | remove_curve (int index) |
Removes the indicated ParametricCurve from the collection, by its index number. | |
void | reset_max_t (float max_t) |
Adjusts the apparent length of the curve by applying a new timewarp that maps the range [0..max_t] to the range [0..get_max_t()]. | |
bool | stitch (const ParametricCurveCollection *a, const ParametricCurveCollection *b) |
Regenerates this curve as one long curve: the first curve connected end-to-end with the second one. | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. | |
virtual bool | unref () const |
Explicitly decrements the reference count. | |
void | unregister_drawer (ParametricCurveDrawer *drawer) |
Removes a previously registered drawer from the list of automatically-refreshed drawers. | |
void | weak_ref (WeakPointerToVoid *ptv) |
Adds the indicated PointerToVoid as a weak reference to this object. | |
void | weak_unref (WeakPointerToVoid *ptv) |
Removes the indicated PointerToVoid as a weak reference to this object. | |
void | write (ostream &out, int indent_level=0) const |
Writes a complete multi-line description of the ParametricCurveCollection to the indicated output stream. | |
bool | write_egg (Filename filename, CoordinateSystem cs=CS_default) |
Writes an egg description of all the nurbs curves in the collection to the specified output file. | |
bool | write_egg (ostream &out, const Filename &filename, CoordinateSystem cs) |
Writes an egg description of all the nurbs curves in the collection to the specified output stream. | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Protected Member Functions | |
bool | do_test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
bool | do_test_ref_count_nonzero () const |
Returns true if the reference count is nonzero, false otherwise. |
This is a set of zero or more ParametricCurves, which may or may not be related.
If they are related, the set should contain no more than one XYZ curve, no more than one HPR curve, and zero or more Timewarp curves, which can then be evaluated as a unit to return a single transformation matrix for a given unit of time.
Definition at line 41 of file parametricCurveCollection.h.
void ParametricCurveCollection::add_curve | ( | ParametricCurve * | curve | ) |
Adds a new ParametricCurve to the collection.
Definition at line 40 of file parametricCurveCollection.cxx.
Referenced by face_forward(), make_even(), reset_max_t(), and stitch().
void ParametricCurveCollection::add_curve | ( | ParametricCurve * | curve, |
int | index | ||
) |
Adds a new ParametricCurve to the collection at the indicated index.
Definition at line 53 of file parametricCurveCollection.cxx.
int ParametricCurveCollection::add_curves | ( | PandaNode * | node | ) |
Adds all the curves found in the scene graph rooted at the given node.
Returns the number of curves found.
Definition at line 68 of file parametricCurveCollection.cxx.
References r_add_curves().
bool ParametricCurveCollection::adjust_hpr | ( | float | t, |
float | h, | ||
float | p, | ||
float | r | ||
) | [inline] |
Adjust the HPR curve at the indicated time to the new value.
The curve shape will change correspondingly. Returns true if successful, false if unable to make the adjustment for some reason.
Definition at line 108 of file parametricCurveCollection.I.
bool ParametricCurveCollection::adjust_hpr | ( | float | t, |
const LVecBase3f & | hpr | ||
) |
Adjust the HPR curve at the indicated time to the new value.
The curve shape will change correspondingly. Returns true if successful, false if unable to make the adjustment for some reason.
Definition at line 632 of file parametricCurveCollection.cxx.
References ParametricCurve::adjust_point(), evaluate_t(), get_hpr_curve(), and get_max_t().
bool ParametricCurveCollection::adjust_xyz | ( | float | t, |
float | x, | ||
float | y, | ||
float | z | ||
) | [inline] |
Adjust the XYZ curve at the indicated time to the new value.
The curve shape will change correspondingly. Returns true if successful, false if unable to make the adjustment for some reason.
Definition at line 95 of file parametricCurveCollection.I.
bool ParametricCurveCollection::adjust_xyz | ( | float | t, |
const LVecBase3f & | xyz | ||
) |
Adjust the XYZ curve at the indicated time to the new value.
The curve shape will change correspondingly. Returns true if successful, false if unable to make the adjustment for some reason.
Definition at line 610 of file parametricCurveCollection.cxx.
References ParametricCurve::adjust_point(), evaluate_t(), get_max_t(), and get_xyz_curve().
void ParametricCurveCollection::clear | ( | ) |
Removes all ParametricCurves from the collection.
Definition at line 142 of file parametricCurveCollection.cxx.
Referenced by stitch().
void ParametricCurveCollection::clear_timewarps | ( | ) |
Removes all the timewarp curves from the collection.
Definition at line 159 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type().
Referenced by make_even().
bool ReferenceCount::do_test_ref_count_integrity | ( | ) | const [protected, inherited] |
Does some easy checks to make sure that the reference count isn't completely bogus.
Returns true if ok, false otherwise.
Reimplemented in NodeReferenceCount, CachedTypedWritableReferenceCount, and NodeCachedReferenceCount.
Definition at line 29 of file referenceCount.cxx.
Referenced by ReferenceCount::do_test_ref_count_nonzero(), and ReferenceCount::test_ref_count_integrity().
bool ReferenceCount::do_test_ref_count_nonzero | ( | ) | const [protected, inherited] |
Returns true if the reference count is nonzero, false otherwise.
Definition at line 56 of file referenceCount.cxx.
References ReferenceCount::do_test_ref_count_integrity().
Referenced by ReferenceCount::test_ref_count_nonzero().
bool ParametricCurveCollection::evaluate | ( | float | t, |
LVecBase3f & | xyz, | ||
LVecBase3f & | hpr | ||
) | const |
Computes the position and rotation represented by the first XYZ and HPR curves in the collection at the given point t, after t has been modified by all the timewarp curves in the collection applied in sequence, from back to front.
Returns true if the point is valid (i.e. t is within the bounds indicated by all the timewarp curves and within the bounds of the curves themselves), or false otherwise.
Definition at line 486 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type().
Referenced by evaluate(), evaluate_hpr(), evaluate_xyz(), and CurveFitter::sample().
bool ParametricCurveCollection::evaluate | ( | float | t, |
LMatrix4f & | result, | ||
CoordinateSystem | cs = CS_default |
||
) | const |
Computes the transform matrix representing translation to the position indicated by the first XYZ curve in the collection and the rotation indicated by the first HPR curve in the collection, after t has been modified by all the timewarp curves in the collection applied in sequence, from back to front.
Returns true if the point is valid (i.e. t is within the bounds indicated by all the timewarp curves and within the bounds of the curves themselves), or false otherwise.
Definition at line 558 of file parametricCurveCollection.cxx.
References evaluate().
bool ParametricCurveCollection::evaluate_hpr | ( | float | t, |
LVecBase3f & | hpr | ||
) | const [inline] |
Computes only the HPR part of the curves.
See evaluate().
Definition at line 81 of file parametricCurveCollection.I.
References evaluate().
float ParametricCurveCollection::evaluate_t | ( | float | t | ) | const |
Determines the value of t that should be passed to the XYZ and HPR curves, after applying the given value of t to all the timewarps.
Return -1.0f if the value of t exceeds one of the timewarps' ranges.
Definition at line 582 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type().
Referenced by adjust_hpr(), and adjust_xyz().
bool ParametricCurveCollection::evaluate_xyz | ( | float | t, |
LVecBase3f & | xyz | ||
) | const [inline] |
Computes only the XYZ part of the curves.
See evaluate().
Definition at line 69 of file parametricCurveCollection.I.
References evaluate().
void ParametricCurveCollection::face_forward | ( | float | segments_per_unit | ) |
Discards the existing HPR curve and generates a new one that looks in the direction of travel along the XYZ curve, based on the XYZ curve's tangent at each point.
Definition at line 390 of file parametricCurveCollection.cxx.
References add_curve(), CurveFitter::add_hpr(), CurveFitter::compute_tangents(), ParametricCurve::get_curve_type(), get_max_t(), get_xyz_curve(), and CurveFitter::wrap_hpr().
ParametricCurve * ParametricCurveCollection::get_curve | ( | int | index | ) | const [inline] |
Returns the nth ParametricCurve in the collection.
Definition at line 41 of file parametricCurveCollection.I.
ParametricCurve * ParametricCurveCollection::get_default_curve | ( | ) | const |
If there is an XYZ curve in the collection, returns it; otherwise, returns the first curve whose type is unspecified.
Returns NULL if no curve meets the criteria.
Definition at line 244 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type(), and get_xyz_curve().
ParametricCurve * ParametricCurveCollection::get_hpr_curve | ( | ) | const |
Returns the first HPR curve in the collection, if any, or NULL if there are none.
Definition at line 224 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type().
Referenced by adjust_hpr(), CurveFitter::sample(), and stitch().
float ParametricCurveCollection::get_max_t | ( | ) | const [inline] |
Returns the maximum T value associated with the last* curve in the collection.
Normally, this will be either the XYZ or HPR curve, or a timewarp curve.
Definition at line 55 of file parametricCurveCollection.I.
Referenced by adjust_hpr(), adjust_xyz(), face_forward(), reset_max_t(), and CurveFitter::sample().
int ParametricCurveCollection::get_num_curves | ( | ) | const [inline] |
Returns the number of ParametricCurves in the collection.
Definition at line 31 of file parametricCurveCollection.I.
Referenced by output().
int ParametricCurveCollection::get_num_timewarps | ( | ) | const |
Returns the number of timewarp curves in the collection.
Definition at line 267 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type().
int ReferenceCount::get_ref_count | ( | ) | const [inline, inherited] |
Returns the current reference count.
Definition at line 155 of file referenceCount.I.
References ReferenceCount::test_ref_count_integrity().
Referenced by TransformState::clear_cache(), RenderState::clear_cache(), RenderState::finalize(), RenderEffects::finalize(), RenderEffect::finalize(), RenderAttrib::finalize(), InternalName::finalize(), TransformState::get_num_unused_states(), RenderState::get_num_unused_states(), TransformState::list_cycles(), RenderState::list_cycles(), GeomVertexFormat::remove_column(), TransformState::unref(), RenderState::unref(), RenderState::~RenderState(), and TransformState::~TransformState().
ParametricCurve * ParametricCurveCollection::get_timewarp_curve | ( | int | n | ) | const |
Returns the nth timewarp curve in the collection.
Definition at line 287 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type().
WeakReferenceList * ReferenceCount::get_weak_list | ( | ) | const [inline, inherited] |
Returns the WeakReferenceList associated with this ReferenceCount object.
If there has never been a WeakReferenceList associated with this object, creates one now.
Definition at line 307 of file referenceCount.I.
Referenced by ReferenceCount::weak_ref().
ParametricCurve * ParametricCurveCollection::get_xyz_curve | ( | ) | const |
Returns the first XYZ curve in the collection, if any, or NULL if there are none.
Definition at line 206 of file parametricCurveCollection.cxx.
References ParametricCurve::get_curve_type().
Referenced by adjust_xyz(), face_forward(), get_default_curve(), make_even(), CurveFitter::sample(), and stitch().
bool ParametricCurveCollection::has_curve | ( | ParametricCurve * | curve | ) | const |
Returns true if the indicated ParametricCurve appears in this collection, false otherwise.
Definition at line 126 of file parametricCurveCollection.cxx.
bool ReferenceCount::has_weak_list | ( | ) | const [inline, inherited] |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.
In general, this will be true if there was ever a WeakPointerTo created for this object (even if there is not any for it now).
Definition at line 294 of file referenceCount.I.
Referenced by ReferenceCount::weak_unref().
void ReferenceCount::local_object | ( | ) | [inline, inherited] |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.
This allows the object to be passed to functions that will increment and decrement the object's reference count temporarily, and it will prevent the object from being deleted (inappropriately), when the reference count returns to zero. It actually achieves this by setting a large positive value in the reference count field.
Definition at line 276 of file referenceCount.I.
Referenced by PGTop::cull_callback(), BoundingSphere::extend_by_hexahedron(), AsyncTaskManager::find_task(), AsyncTaskManager::find_tasks(), and AsyncTaskManager::find_tasks_matching().
void ParametricCurveCollection::make_even | ( | float | max_t, |
float | segments_per_unit | ||
) |
Discards all existing timewarp curves and recomputes a new timewarp curve that maps distance along the curve to parametric time, so that the distance between any two points in parametric time is proportional to the approximate distance of those same two points along the XYZ curve.
segments_per_unit represents the number of segments to take per each unit of parametric time of the original XYZ curve.
The new timewarp curve (and thus, the apparent range of the collection) will range from 0 to max_t.
Definition at line 320 of file parametricCurveCollection.cxx.
References add_curve(), CurveFitter::add_xyz(), ParametricCurve::calc_length(), clear_timewarps(), CurveFitter::compute_tangents(), ParametricCurve::find_length(), ParametricCurve::get_max_t(), get_xyz_curve(), and ParametricCurve::set_curve_type().
void ParametricCurveCollection::output | ( | ostream & | out | ) | const |
Writes a brief one-line description of the ParametricCurveCollection to the indicated output stream.
Definition at line 716 of file parametricCurveCollection.cxx.
References get_num_curves().
int ParametricCurveCollection::r_add_curves | ( | PandaNode * | node | ) |
The recursive implementation of add_curves().
Definition at line 852 of file parametricCurveCollection.cxx.
References PandaNode::get_child(), PandaNode::get_num_children(), and TypedObject::is_of_type().
Referenced by add_curves().
bool ParametricCurveCollection::recompute | ( | ) |
Ensures all the curves are freshly computed and up-to-date.
Returns true if everything is valid, false if at least one curve is incorrect.
Definition at line 653 of file parametricCurveCollection.cxx.
References ParametricCurve::recompute().
void ReferenceCount::ref | ( | ) | const [inline, inherited] |
Explicitly increments the reference count.
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
Definition at line 179 of file referenceCount.I.
References ReferenceCount::test_ref_count_integrity().
Referenced by CachedTypedWritableReferenceCount::cache_ref(), TypedWritable::decode_raw_from_bam_stream(), NodeCachedReferenceCount::node_ref(), NodeReferenceCount::node_ref(), BamCacheRecord::set_data(), CullableObject::set_draw_callback(), and ModelRoot::set_reference().
void ParametricCurveCollection::register_drawer | ( | ParametricCurveDrawer * | drawer | ) |
Registers a Drawer with this curve collection that will automatically be updated whenever the collection is modified, so that the visible representation of the curve is kept up to date.
This is called automatically by the ParametricCurveDrawer.
Any number of Drawers may be registered with a particular curve collection.
Definition at line 884 of file parametricCurveCollection.cxx.
References ParametricCurve::register_drawer().
bool ParametricCurveCollection::remove_curve | ( | ParametricCurve * | curve | ) |
Removes the indicated ParametricCurve from the collection.
Returns true if the curve was removed, false if it was not a member of the collection.
Definition at line 86 of file parametricCurveCollection.cxx.
void ParametricCurveCollection::remove_curve | ( | int | index | ) |
Removes the indicated ParametricCurve from the collection, by its index number.
Definition at line 111 of file parametricCurveCollection.cxx.
void ParametricCurveCollection::reset_max_t | ( | float | max_t | ) |
Adjusts the apparent length of the curve by applying a new timewarp that maps the range [0..max_t] to the range [0..get_max_t()].
After this call, the curve collection will contain one more timewarp curve, and get_max_t() will return the given max_t value.
Definition at line 456 of file parametricCurveCollection.cxx.
References add_curve(), and get_max_t().
bool ParametricCurveCollection::stitch | ( | const ParametricCurveCollection * | a, |
const ParametricCurveCollection * | b | ||
) |
Regenerates this curve as one long curve: the first curve connected end-to-end with the second one.
Either a or b may be the same as 'this'. This will lose any timewarps on the input curves.
Returns true if successful, false on failure.
Definition at line 678 of file parametricCurveCollection.cxx.
References add_curve(), clear(), get_hpr_curve(), get_xyz_curve(), and ParametricCurve::set_curve_type().
bool ReferenceCount::test_ref_count_integrity | ( | ) | const [inline, inherited] |
Does some easy checks to make sure that the reference count isn't completely bogus.
Returns true if ok, false otherwise.
Reimplemented in NodeReferenceCount, CachedTypedWritableReferenceCount, and NodeCachedReferenceCount.
Definition at line 236 of file referenceCount.I.
References ReferenceCount::do_test_ref_count_integrity().
Referenced by EggGroupNode::add_child(), InternalName::find_ancestor(), InternalName::get_ancestor(), ReferenceCount::get_ref_count(), InternalName::get_top(), ReferenceCount::ref(), EggVertex::test_gref_integrity(), EggVertex::test_pref_integrity(), EggNode::test_under_integrity(), EggPrimitive::test_vref_integrity(), EggGroup::test_vref_integrity(), MouseWatcher::throw_event_pattern(), ReferenceCount::unref(), and EggNode::update_under().
bool ReferenceCount::test_ref_count_nonzero | ( | ) | const [inline, inherited] |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
Returns true if ok, false otherwise.
Definition at line 252 of file referenceCount.I.
References ReferenceCount::do_test_ref_count_nonzero().
Referenced by CopyOnWritePointer::test_ref_count_nonzero().
bool ReferenceCount::unref | ( | ) | const [inline, virtual, inherited] |
Explicitly decrements the reference count.
Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.
Reimplemented in GeomVertexArrayFormat, GeomVertexFormat, InternalName, RenderAttrib, RenderEffects, RenderState, and TransformState.
Definition at line 214 of file referenceCount.I.
References ReferenceCount::test_ref_count_integrity().
Referenced by CachedTypedWritableReferenceCount::cache_unref(), TypedWritable::decode_raw_from_bam_stream(), RenderEffect::finalize(), NodeCachedReferenceCount::node_unref(), NodeReferenceCount::node_unref(), TransformState::unref(), RenderState::unref(), RenderEffects::unref(), RenderAttrib::unref(), InternalName::unref(), GeomVertexFormat::unref(), and GeomVertexArrayFormat::unref().
void ParametricCurveCollection::unregister_drawer | ( | ParametricCurveDrawer * | drawer | ) |
Removes a previously registered drawer from the list of automatically-refreshed drawers.
This is called automatically by the ParametricCurveDrawer.
Definition at line 902 of file parametricCurveCollection.cxx.
References ParametricCurve::unregister_drawer().
void ReferenceCount::weak_ref | ( | WeakPointerToVoid * | ptv | ) | [inline, inherited] |
Adds the indicated PointerToVoid as a weak reference to this object.
Definition at line 321 of file referenceCount.I.
References WeakReferenceList::add_reference(), and ReferenceCount::get_weak_list().
void ReferenceCount::weak_unref | ( | WeakPointerToVoid * | ptv | ) | [inline, inherited] |
Removes the indicated PointerToVoid as a weak reference to this object.
It must have previously been added via a call to weak_ref().
Definition at line 334 of file referenceCount.I.
References WeakReferenceList::clear_reference(), and ReferenceCount::has_weak_list().
void ParametricCurveCollection::write | ( | ostream & | out, |
int | indent_level = 0 |
||
) | const |
Writes a complete multi-line description of the ParametricCurveCollection to the indicated output stream.
Definition at line 731 of file parametricCurveCollection.cxx.
bool ParametricCurveCollection::write_egg | ( | Filename | filename, |
CoordinateSystem | cs = CS_default |
||
) |
Writes an egg description of all the nurbs curves in the collection to the specified output file.
Returns true if the file is successfully written.
Definition at line 747 of file parametricCurveCollection.cxx.
References Filename::open_write(), and Filename::set_text().
bool ParametricCurveCollection::write_egg | ( | ostream & | out, |
const Filename & | filename, | ||
CoordinateSystem | cs | ||
) |
Writes an egg description of all the nurbs curves in the collection to the specified output stream.
Returns true if the file is successfully written.
Definition at line 767 of file parametricCurveCollection.cxx.
References Filename::get_basename_wo_extension(), ParametricCurve::get_curve_type(), Namable::has_name(), and ParametricCurve::write_egg().