| Bsoft 2.0.5 Bernard's software package

Functions | Variables
model_transform.cpp File Reference

Library routines used for model transformation. More...

`#include "model_transform.h"`
`#include "model_compare.h"`
`#include "model_util.h"`
`#include "Transform.h"`
`#include "linked_list.h"`
`#include "utilities.h"`

Go to the source code of this file.

## Functions
long | model_center (Bmodel *model)
| Shifts one models to its center of mass. More...
long | model_shift (Bmodel *model, Vector3< double > shift)
| Shifts a model. More...
long | models_shift (Bmodel *model, Vector3< double > shift)
| Shifts all models. More...
long | model_scale (Bmodel *model, Vector3< double > scale, Vector3< double > origin)
| Scales a model. More...
long | models_scale (Bmodel *model, Vector3< double > scale, Vector3< double > origin)
| Scales a model. More...
long | model_reflect (Bmodel *model, Vector3< double > normal, Vector3< double > origin)
| Reflects the model through a mirror plane. More...
long | models_reflect (Bmodel *model, Vector3< double > normal, Vector3< double > origin)
| Reflects the model through a mirror plane. More...
double | model_reflect_and_compare (Bmodel *model, Vector3< double > normal, Vector3< double > origin)
| Copies and reflects the model and compares it with the original. More...
long | model_rotate (Bmodel *model, Matrix3 mat)
| Rotates the model. More...
long | model_rotate (Bmodel *model, Matrix3 mat, Vector3< double > origin)
| Rotates the model. More...
long | model_rotate (Bmodel *model, Matrix3 mat, Vector3< double > origin, Vector3< double > shift)
| Rotates the model. More...
long | model_rotate (Bmodel *model, View view)
| Rotates the model. More...
long | model_rotate (Bmodel *model, View view, Vector3< double > origin, Vector3< double > shift)
| Rotates the model. More...
long | model_rotate (Bmodel *model, Transform t)
| Rotates the model. More...
double | model_rotate_and_compare (Bmodel *model, Transform t)
| Copies and rotates the model and compares it with the original. More...
long | model_adjust_for_binning (Bmodel *model, Vector3< long > bin)
| A binned model list is converted back to the unbinned version. More...
long | model_align_to_guide (Bmodel *model, Bmodel *guide)
| A model is oriented to coincide with a guide model. More...
Transform | model_find_transform (Bmodel *model, Bmodel *refmod)
| A model is fitted to a reference model. More...

## Variables
int | verbose

## Detailed Description

Library routines used for model transformation.

Author
  Bernard Heymann

Date
  Created: 20060908
  Modified: 20150209

Definition in file model_transform.cpp.

## Function Documentation

## ◆ model_adjust_for_binning()

long model_adjust_for_binning | ( | Bmodel * | model,
|  | Vector3< long > | bin
| ) |  |

A binned model list is converted back to the unbinned version.

Parameters

  *model | the model list.
  bin | 3-value bin vector.

Returns
  long number of components processed.

      All component coordinates are converted back to the unbinned values.
      Only the first model is adjusted.

Definition at line 416 of file model_transform.cpp.

## ◆ model_align_to_guide()

long model_align_to_guide | ( | Bmodel * | model,
|  | Bmodel * | guide
| ) |  |

A model is oriented to coincide with a guide model.

Parameters

  *model | model (rotated).
  *guide | guide model.

Returns
  long number of components processed.

      The principal axes of the guide model is calculated and the model rotated.
      Only the first model is aligned.

Definition at line 443 of file model_transform.cpp.

## ◆ model_center()

long model_center | ( | Bmodel * | model | ) |

Shifts one models to its center of mass.

Parameters

  *model | model parameters.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 27 of file model_transform.cpp.

## ◆ model_find_transform()

Transform model_find_transform | ( | Bmodel * | model,
|  | Bmodel * | refmod
| ) |  |

A model is fitted to a reference model.

Parameters

  *model | model.
  *refmod | template model.

Returns
  Transform transform.

      The components in the model and the reference must match exactly.
      Only the first model and template in the lists are processed.

Definition at line 470 of file model_transform.cpp.

## ◆ model_reflect()

long model_reflect | ( | Bmodel * | model,
|  | Vector3< double > | normal,
|  | Vector3< double > | origin
| ) |  |

Reflects the model through a mirror plane.

Parameters

  *model | model structure.
  normal | plane normal.
  origin | model origin.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 143 of file model_transform.cpp.

## ◆ model_reflect_and_compare()

double model_reflect_and_compare | ( | Bmodel * | model,
|  | Vector3< double > | normal,
|  | Vector3< double > | origin
| ) |  |

Copies and reflects the model and compares it with the original.

Parameters

  *model | model structure.
  normal | plane normal.
  origin | model origin.

Returns
  double RMSD.

      Only the first model in the list is processed.

Definition at line 192 of file model_transform.cpp.

## ◆ model_rotate() [1/6]

long model_rotate | ( | Bmodel * | model,
|  | Matrix3 | mat
| ) |  |

Rotates the model.

Parameters

  *model | model structure.
  mat | rotation matrix.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 238 of file model_transform.cpp.

## ◆ model_rotate() [2/6]

long model_rotate | ( | Bmodel * | model,
|  | Matrix3 | mat,
|  | Vector3< double > | origin
| ) |  |

Rotates the model.

Parameters

  *model | model structure.
  mat | rotation matrix.
  origin | rotation origin.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 254 of file model_transform.cpp.

## ◆ model_rotate() [3/6]

long model_rotate | ( | Bmodel * | model,
|  | Matrix3 | mat,
|  | Vector3< double > | origin,
|  | Vector3< double > | shift
| ) |  |

Rotates the model.

Parameters

  *model | model structure.
  mat | rotation matrix.
  origin | rotation origin.
  shift | translation after rotation.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 271 of file model_transform.cpp.

## ◆ model_rotate() [4/6]

long model_rotate | ( | Bmodel * | model,
|  | View | view
| ) |  |

Rotates the model.

Parameters

  *model | model structure.
  view | view to rotate to.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 309 of file model_transform.cpp.

## ◆ model_rotate() [5/6]

long model_rotate | ( | Bmodel * | model,
|  | View | view,
|  | Vector3< double > | origin,
|  | Vector3< double > | shift
| ) |  |

Rotates the model.

Parameters

  *model | model structure.
  view | view to rotate to.
  origin | rotation origin.
  shift | translation after rotation.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 327 of file model_transform.cpp.

## ◆ model_rotate() [6/6]

long model_rotate | ( | Bmodel * | model,
|  | Transform | t
| ) |  |

Rotates the model.

Parameters

  *model | model structure.
  t | rotation operation.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 342 of file model_transform.cpp.

## ◆ model_rotate_and_compare()

double model_rotate_and_compare | ( | Bmodel * | model,
|  | Transform | t
| ) |  |

Copies and rotates the model and compares it with the original.

Parameters

  *model | model structure.
  t | rotation operation.

Returns
  double RMSD.

      Only the first model in the list is processed.

Definition at line 369 of file model_transform.cpp.

## ◆ model_scale()

long model_scale | ( | Bmodel * | model,
|  | Vector3< double > | scale,
|  | Vector3< double > | origin
| ) |  |

Scales a model.

Parameters

  *model | model parameters.
  scale | scale.
  origin | model origin.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 87 of file model_transform.cpp.

## ◆ model_shift()

long model_shift | ( | Bmodel * | model,
|  | Vector3< double > | shift
| ) |  |

Shifts a model.

Parameters

  *model | model parameters.
  shift | translation vector.

Returns
  long number of components processed.

      Only the first model in the list is processed.

Definition at line 43 of file model_transform.cpp.

## ◆ models_reflect()

long models_reflect | ( | Bmodel * | model,
|  | Vector3< double > | normal,
|  | Vector3< double > | origin
| ) |  |

Reflects the model through a mirror plane.

Parameters

  *model | model structure.
  normal | plane normal.
  origin | model origin.

Returns
  long number of components processed.

Definition at line 171 of file model_transform.cpp.

## ◆ models_scale()

long models_scale | ( | Bmodel * | model,
|  | Vector3< double > | scale,
|  | Vector3< double > | origin
| ) |  |

Scales a model.

Parameters

  *model | model parameters.
  scale | scale.
  origin | model origin.

Returns
  long number of components processed.

Definition at line 117 of file model_transform.cpp.

## ◆ models_shift()

long models_shift | ( | Bmodel * | model,
|  | Vector3< double > | shift
| ) |  |

Shifts all models.

Parameters

  *model | model parameters.
  shift | translation vector.

Returns
  long number of components processed.

      All models in the list are processed.

Definition at line 66 of file model_transform.cpp.

## Variable Documentation

## ◆ verbose

int verbose